我遇到了这个问题:
我正在使用 Python 和 OpenCV。我试图使用 erode 分离接触的硬币轮廓。我对图像进行了阈值处理,然后尝试应用 erode 但什么也没有发生。我已经阅读了文档,但仍然不太理解 getStruturingElement 和 erode 如何工作。
1. 我已经对图像进行了阈值处理。 2. 在阈值处理后的图像上使用了 erode。
但还是没有任何结果。在这里我使用了什么错误?
以下是代码的一部分:
我正在使用 Python 和 OpenCV。我试图使用 erode 分离接触的硬币轮廓。我对图像进行了阈值处理,然后尝试应用 erode 但什么也没有发生。我已经阅读了文档,但仍然不太理解 getStruturingElement 和 erode 如何工作。
1. 我已经对图像进行了阈值处理。 2. 在阈值处理后的图像上使用了 erode。
但还是没有任何结果。在这里我使用了什么错误?
以下是代码的一部分:
import cv2, numpy as np
#1.Reads Image
objectImage = cv2.imread('P1000713s.jpg')
#2.Converts to Gray level
cvtcolorImage = cv2.cvtColor(objectImage,cv2.COLOR_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)
sklearn.clustering
模块中的DBSCAN
算法来分离在边缘重叠的两个或更多硬币。DBSCAN
是一种基于密度的聚类算法,如果你调整好半径参数,就有可能成功地将这些硬币分开。 - cjohnson318