【问题标题】:Perform Canny Edge in HSV Image在 HSV 图像中执行 Canny Edge
【发布时间】:2012-12-13 13:07:08
【问题描述】:

我已将 BGR 图像转换为 HSV 以检测黑色圆圈,那么我如何在 HSV 图像上执行 Canny 边缘?我试过了,但它根本不起作用。

IplImage *capturedImg = cvLoadImage("template.jpg",1);
IplImage* imgHSV = cvCreateImage(cvGetSize(capturedImg), 8, 3);
cvCvtColor(capturedImg, imgHSV, CV_BGR2HSV);
IplImage* imgThreshed = cvCreateImage(cvGetSize(capturedImg), 8, 1);

cvInRangeS(imgHSV, cvScalar(0, 0,0), cvScalar(255, 255, 38),imgThreshed);
cvShowImage("HSV",imgThreshed);
IplImage*cannyImg2=cvCreateImage(cvGetSize(imgThreshed),8,1);
cvCanny(grayscaleImg2,cannyImg2,0,255,3);
 cvShowImage("canny2",cannyImg2);

第一个图像是眼睛检测,然后我使用HSV图像检测瞳孔,那么我如何知道瞳孔的位置和半径?

【问题讨论】:

  • 请添加示例图片。

标签: opencv colors hsv


【解决方案1】:

我相信这条线:

cvCanny(grayscaleImg2, cannyImg2, 0, 255, 3);

应该是:

cvCanny(imgThreshed, cannyImg2, 0, 255, 3);

因为您想在阈值蒙版上找到轮廓。

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多