我想为图像上的每个白色区域获取一些描述符,以过滤这些区域并分别对其进行操作。我该怎么做?
我已阅读 How to use OpenCV SimpleBlobDetector和 http://www.learnopencv.com/blob-detection-using-opencv-python-c/但我的简单图像仍然得不到任何结果。
这是我的python代码
img = cv2.imread("map.jpg", cv2.IMREAD_GRAYSCALE)
params = cv2.SimpleBlobDetector_Params()
params.blobColor = 255
params.filterByColor = True
params.minArea = 16
params.filterByArea = True
detector = cv2.SimpleBlobDetector_create(params)
keypoints = detector.detect(255 - img)
len(keypoints)
# 0
OpenCV 3.1.0
图像是灰度的。
UPD:代码在@api55 发表评论后更新
最佳答案
I want to get some descriptors for each white area on image to filter that areas and operate with them separately. How can I do it?
我的目标可以通过 sklearn.measure.label
实现。此函数为每个连接区域返回一个具有相同形状和标签的 numpy 数组。
但无论如何,仍然不清楚为什么 OpenCV 中的 SimpleBlobDetector 不起作用。
关于python - 使用 OpenCV 检测图像上的 Blob ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162704/