【发布时间】:2014-02-26 05:15:17
【问题描述】:
我在 Opencv 中使用阈值来查找轮廓。我的输入是手形图像。有时阈值不好,所以我找不到轮廓。
我已应用以下预处理步骤
1.Grabcut
cv::grabCut(image, result,rectangle,bgModel,fgModel, 3,cv::GC_INIT_WITH_RECT);
-
灰度转换
cvtColor(handMat, handMat, CV_BGR2GRAY);
-
中值模糊
medianBlur(handMat, handMat, MEDIAN_BLUR_K);
我使用下面的代码找到阈值
threshold( handMat, handMat, 141, 255, THRESH_BINARY||CV_THRESH_OTSU );
有时我得到很好的输出,有时阈值输出不好。我附上了两个输出图像。
除了阈值之外还有其他方法可以找到轮廓吗?
良好的阈值输出:
阈值输出错误
【问题讨论】:
-
您是否将图像转换为 HSV 颜色空间?看看下面的链接..1.stackoverflow.com/questions/12968576/opencv-skin-detection?rq=1 2.stackoverflow.com/questions/8753833/exact-skin-color-hsv-range
-
THRESH_BINARY||CV_THRESH_OTSU == 1。你可能想说:THRESH_BINARY|CV_THRESH_OTSU但是,两个标志都是异或 -
能否也显示输入图像?
标签: opencv image-processing computer-vision