SimpleBlobDetector opencv python 错误但缺少输出
SimpleBlobDetector opencv python error but missing output
我正在尝试使用 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)
代码一直运行到它应该实际检测到斑点的关键点行。它没有显示任何错误消息,只是重新启动内核。我使用了一张非常简单的图片,所以应该检测到斑点。
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)
我正在尝试使用 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)
代码一直运行到它应该实际检测到斑点的关键点行。它没有显示任何错误消息,只是重新启动内核。我使用了一张非常简单的图片,所以应该检测到斑点。
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)