Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 使用OpenCV检测纸张上的衣服按钮_Image Processing_Opencv_Computer Vision - Fatal编程技术网

Image processing 使用OpenCV检测纸张上的衣服按钮

Image processing 使用OpenCV检测纸张上的衣服按钮,image-processing,opencv,computer-vision,Image Processing,Opencv,Computer Vision,我没有计算机视觉方面的背景,但我很想知道如何使用OpenCV库实现以下目标: 我有一罐备用纽扣,颜色、款式和直径各不相同。在大多数情况下,它们是圆形的。我把它们均匀地分散在一张白纸上,在良好的光线下,用普通的数码相机拍摄一张相当高分辨率的照片。我是如何将这张图片分割成单独的对象/图片来抓取每个按钮的 提前谢谢。我想你可以尝试的最简单的事情是:运行Canny边缘检测器,应用Hough变换来检测圆,并从每个圆生成一个单独的图像。我已经做了一些菜式识别,效果非常好。这样做: 做一些阈值处理(按钮应该比

我没有计算机视觉方面的背景,但我很想知道如何使用OpenCV库实现以下目标:

我有一罐备用纽扣,颜色、款式和直径各不相同。在大多数情况下,它们是圆形的。我把它们均匀地分散在一张白纸上,在良好的光线下,用普通的数码相机拍摄一张相当高分辨率的照片。我是如何将这张图片分割成单独的对象/图片来抓取每个按钮的


提前谢谢。

我想你可以尝试的最简单的事情是:运行Canny边缘检测器,应用Hough变换来检测圆,并从每个圆生成一个单独的图像。

我已经做了一些菜式识别,效果非常好。这样做:

做一些阈值处理(按钮应该比背景亮),只留下按钮

然后,我们找到了恐龙

对于每个轮廓:

  • 运行cvFitEllipse,它将返回拟合椭圆的两个轴(a、b)
  • 使用cvContourArea检查椭圆PIab的面积是否与轮廓面积相似,以及两个轴是否相似a=b。(这将只留下圆圈)
  • 然后你可以做任何你需要的事。 printContour,使用cvPrintContour,使用CVMinareRect2获得按钮边界框等
Hough变换也是可能的,但它的成本相当高

两种可能的方法:

1) 使用圆hough变换 运行一些边缘检测器(canny/sobel),然后运行圆hough变换。你会得到圆圈的

2) 使用等高线 使用阈值分离按钮和背景。在这个阈值图像中检测轮廓,你就有了按钮

可能有帮助的文章:

  • 轮廓:
  • 阈值:
  • 霍夫圆:
免责声明:这些是指向我的网站的链接