opencv 将灰度图进行边缘检测

opencv 将灰度图进行边缘检测,第1张

这里IplImage img=cvLoadImage("D:\\demo2jpg");如果不加参数,默认读取图像的原通道数。

假如你载入的图像不是单通道的,if(in->nChannels != 1) return 0;这句就直接被执行然后return了,Img2自然什么都么有。

改正:把IplImage img=cvLoadImage("D:\\demo2jpg");

改成IplImage img=cvLoadImage("D:\\demo2jpg",0);//强制转化读取的图像为灰度

附:cvLoadImage函数使用方法

cvLoadImage( filename, -1 ); //默认读取图像的原通道数

cvLoadImage( filename, 0 ); //强制转化读取图像为灰度图

cvLoadImage( filename, 1 ); //读取彩色图

最简单的方法是,如果大小固定,你跟踪一下在cview类显示的左上角和右下角的位置设为(x1,y1),(x2,y2)(鼠标点那两个点就行)

通过LBUTTONDOWN得到当前鼠标位置设为(x,y)

真实像素值为wh

J=(x-x1)w/(x2-x1)

I=(y-y1)H/(y2-y1)

w和h你要想明白,容易搞混

以上就是关于opencv 将灰度图进行边缘检测全部的内容,包括:opencv 将灰度图进行边缘检测、在MFC中的单文档中通过OPENCV的IplImage把图像显示出来后,在View类中得到鼠标坐标(x,y)。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9477886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存