OpenCV使用SimpleBlobDetector时报错:Segmentation fault (core dumped)

解决方法

原本的代码

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能用的函数不一样

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据