opencv C++这句是什么意思

Matbw=threshval<128?(img<threshval):(img>threshval);---------------------------------... Mat bw = threshval < 128 ? (img < threshval) : (img > threshval);
-------------------- ---------------------
这2个是什么意思

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;
// 描述:全局函数声明
Mat img;
int threshval = 160; //轨迹条滑块对应的值,给初值160
static void on_trackbar(int, void*)
{
Mat bw = threshval < 128 ? (img < threshval) : (img > threshval);

//定义点和向量
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;

//查找轮廓
findContours( bw, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE );
//初始化dst
Mat dst = Mat::zeros(img.size(), CV_8UC3);
//开始处理
if( !contours.empty() && !hierarchy.empty() )
{
//遍历所有顶层轮廓,随机生成颜色值绘制给各连接组成部分
int idx = 0;
for( ; idx >= 0; idx = hierarchy[idx][0] )
{
Scalar color( (rand()&255), (rand()&255), (rand()&255) );
//绘制填充轮廓
drawContours( dst, contours, idx, color, CV_FILLED, 8, hierarchy );
}
}
//显示窗口
imshow( "Connected Components", dst );
}

int main( )
{
system("color 5F");
img = imread("1.jpg", 0);
if( !img.data ) { printf("Oh,no,读取img图片文件错误~! \n"); return -1; }
namedWindow( "Image", 1 );
imshow( "Image", img );
namedWindow( "Connected Components", 1 );
createTrackbar( "Threshold", "Connected Components", &threshval, 255, on_trackbar );
on_trackbar(threshval, 0);//轨迹条回调函数
waitKey(0);
return 0;
}
展开
 我来答
百度网友0c4f147
2014-09-13
知道答主
回答量:2
采纳率:0%
帮助的人:2321
展开全部
Mat bw = threshval < 128 ? (img < threshval) : (img > threshval);
这中间应该进行了两次类型转换,虽然我不曾接触过opencv,但是按照你说的Mat类型是一个结构体,结构体的定义中应该存在着与threshval对应的整型元素,建议你找一下源代码中关于Mat图像结构体的定义,这应该会帮助你理解
Air__空
推荐于2018-04-12
知道答主
回答量:4
采纳率:100%
帮助的人:2.6万
展开全部
Mat这个类重载了operator <。img < threshval的功能就是二值化,threshval就是二值化的阈值。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吴陆辉
2016-10-11
知道答主
回答量:5
采纳率:0%
帮助的人:3713
展开全部
应该是c++的?:表达式,先threshval与128比较,若小于号成立则将图像中小于threshval的值赋给bw,反之将大与threshval赋给bw。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
firlin2016
2014-06-17 · TA获得超过116个赞
知道小有建树答主
回答量:71
采纳率:100%
帮助的人:95.5万
展开全部
不明白,opencv2的Mat,应该是指图像结构体吧?

一个结构体怎么跟int判断啊。。。

能编译吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阶昂赣糙珊郎C2
2014-06-17 · TA获得超过305个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:96万
展开全部
c++的问号表达式吧,自己搜下就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式