Tag: 边缘检测

访问负像素值OpenCV

我试图在OpenCV中对图像执行过零边缘检测。 我模糊并使用cvLaplace()然后从(0,max)缩放它。 我的问题是:如何以正确识别负值的方式访问该图像中的像素值? 使用OpenCV(cvPtr2D)提供的函数返回无符号字符。 有什么想法或意见吗? 谢谢

更好的video编程边缘滤波算法

我还在研究最后一个程序 ,虽然我终于找到了如何解决问题(关于如何过滤最大轮廓),但我现在有了一个新问题,或者更确切地说是一个问题。 如您所见,我正在使用Canny算法搜索video中的边缘。 但是我将用于检测的对象没有特定的颜色,因此当对象的颜色与周围的颜色大致相同时(例如,如果对象是silverlight并且背景为白色),对象的边缘将消失,我无法获得物体的轮廓。 现在我将测试OpenCV中可用的每个边缘过滤算法,但为了减少我的工作时间,我需要你的帮助来推荐最好的(或至少更好的)算法而不是canny 。 现在我已经测试了Sobel,但结果并不比canny好。 如果可能的话,请链接我一些好的例子以供参考。 代码: int main( int argc, char** argv ) { CvCapture *cam; CvMoments moments; CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* contours = NULL; CvSeq* contours2 = NULL; CvPoint2D32f center; int i; cam=cvCaptureFromCAM(0); if(cam==NULL){ fprintf(stderr,”Cannot find any camera. \n”); return -1; } while(1){ IplImage *img=cvQueryFrame(cam); if(img==NULL){return -1;} IplImage *src_gray= cvCreateImage( […]