如何使用腐蚀分离触摸物体的轮廓?

Cap*_*vez 6 python opencv detection

我遇到了这个问题:

http://img38.imageshack.us/img38/5856/questao.png

我正在使用Python和OpenCV。我正在尝试使用腐蚀来分离触摸硬币的轮廓。我对图像进行了阈值处理,然后尝试进行腐蚀,但是什么也没发生。我已经阅读了文档,但仍然不太了解getStruturingElementand腐蚀的工作原理。

  1. 我已经对图像进行了阈值处理。

  2. 在阈值图像上使用的腐蚀。

还是一无所有。我在这里用错什么?

这是代码的一部分:

import cv2, numpy as np

#1.Reads Image
objectImage = cv2.imread('P1000713s.jpg')

#2.Converts to Gray level
cvtcolorImage = cv2.cvtColor(objectImage,cv2.cv.CV_RGB2GRAY)

#3.Thresholds
imgSplit = cv2.split(objectImage)
flag,b = cv2.threshold(imgSplit[2],0,255,cv2.THRESH_OTSU) 

#4.Erodes the Thresholded Image
element = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))
cv2.erode(b,element)

cv2.imshow('Eroded',b)
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 2

查看您的图像,3x3 十字掩模可能始终保持在阈值区域内。使用 MORPH_ELLIPSE,而不是使用 MORPH_CROSS。

如果硬币在一次调用后仍然“接触”,您总是可以运行多次调用来侵蚀,但请注意,这会对您的图像产生破坏性影响。