解决方法
原本的代码
import cv2
import numpy as np;
params = cv2.SimpleBlobDetector_Params()
detector = cv2.SimpleBlobDetector(params)
detector.empty() # <- segfault
keypoints = detector.detect(image) # <- segfault
好使的代码
import cv2
import numpy as np;
params = cv2.SimpleBlobDetector_Params()
ver = (cv2.__version__).split('.')
if int(ver[0]) < 3 :
detector = cv2.SimpleBlobDetector(params)
else :
detector = cv2.SimpleBlobDetector_create(params)
detector.empty() # <- now works
keypoints = detector.detect(image) # <- now works
问题
貌似不同版本的OpenCV能用的函数不一样