python - SimpleBlobDetector opencv python错误但缺少输出

标签 python opencv image-processing blob

我正在尝试使用 opencv SimpleBlobDetector。
我当前的程序是一个简单的测试程序,如下所示:

import cv2
import numpy as np;

im = cv2.imread("blobs.jpg", cv2.IMREAD_GRAYSCALE)

params = cv2.SimpleBlobDetector_Params()

params.filterByArea = True;
params.minArea = 1;
params.maxArea = 1000;

detector = cv2.SimpleBlobDetector(params)

keypoints = detector.detect(im)

im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

cv2.imshow("Keypoints", im_with_keypoints)
cv2.waitKey(0)

代码一直运行到它应该实际检测到 blob 的关键点行。它没有显示任何错误消息,只是重新启动内核。我使用了一张非常简单的图片,因此应该可以检测到 Blob 。

used image

最佳答案

似乎对我有用。如果你使用 Python 3,你想使用 detector = cv2.SimpleBlobDetector_create(params)而不是你以前的。我将最大面积增加到 10000像素,我也包含了输出的屏幕截图:

import cv2
import numpy as np;

im = cv2.imread("blobs.jpg", cv2.IMREAD_GRAYSCALE)

params = cv2.SimpleBlobDetector_Params()

params.filterByArea = True;
params.minArea = 1;
params.maxArea = 10000;

detector = cv2.SimpleBlobDetector_create(params)

keypoints = detector.detect(im)

im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

cv2.imshow("Keypoints", im_with_keypoints)
cv2.waitKey(0)

output

关于python - SimpleBlobDetector opencv python错误但缺少输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61590392/

相关文章:

python - put() 至少需要 3 个参数(给定 2 个)

python - 谁能解释一下如何将 arg 或 kwargs 从重定向传递到另一个 View ?

python - NumPy 将 8 位图像转换为 16/32 位图像

openCV 3.0、openCL 和 meanShiftFiltering

java - opencv和python——激光曲线检测

python - 如何使用 Python OpenCV 查找图像中的极端外部点

python - Numpy 中的二进制计数

python - 使用 Python 将 HTML 转换为 RTF 字符串

java - 如何在 Processing 中点对点画线

c++ - OpenCv:车牌识别