在二进制图像中检测破损的有缺陷的饼干

时间:2012-06-16 11:14:16

标签: image-processing opencv image-recognition

我是OpenCV的新手,我正在尝试计算并找到破碎或破裂的饼干 (图像中不是完美的圆圈应该是那些)。

我应该遵循什么样的策略?

任何建议都可以帮助我敞开心扉。问候。

1 个答案:

答案 0 :(得分:2)

你的问题非常抽象(如果提供一些图片会更好),但我可以尝试回答。

首先,您必须在图像上检测所有busquits 。要做到这一点,你必须在你的图片上找到 bisquit color (也许HSV color space对你的目标更好)并将输入图像转换为单通道图像(或矩阵),每个元素都是矩阵可以是:

  • 1(或255)如果此像素属于bisquit
  • 0 ,如果没有。

[OpenCV函数inRange可以帮助您进行此类转换。]

当检测到bisquits时,您可以:

  1. 使用HoughCircles检测普通bisquits (如果普通的bisquit 是圆的)。
  2. 找到每个bisquit的轮廓(看看findContours)并使用cross-corellation或其他方法(Euclidean distance等)将每个轮廓与普通的bisquit(如果它不是圆形)进行比较
  3. 如果您的图片不包含其他圆圈(bisquits除外),请同时查看HoughCircle tutorial以检测圈子。