问题
I have installed opencv 3.1.0 with extra modules, but when I try to use
>>> s = cv2.face.MinDistancePredictCollector()
it returns an error
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
s.MinDistancePredictCollector()
AttributeError: 'module' object has no attribute 'MinDistancePredictCollector'
I also checked the documentation:
>>> help(cv2.face)
Help on module cv2.face in cv2:
NAME
cv2.face
FILE
(built-in)
FUNCTIONS
StandardCollector_create(...)
StandardCollector_create([, threshold]) -> retval
createEigenFaceRecognizer(...)
createEigenFaceRecognizer([, num_components[, threshold]]) -> retval
createFisherFaceRecognizer(...)
createFisherFaceRecognizer([, num_components[, threshold]]) -> retval
createLBPHFaceRecognizer(...)
createLBPHFaceRecognizer([, radius[, neighbors[, grid_x[, grid_y[, threshold]]]]]) -> retval
and I found out that MinDistancePredictCollector()
does not exist. So how can I install it?
回答1:
I just asked the same problem on Github and it can be solved by the following code:
if cv2.__version__ >= "3.1.0":
collector = cv2.face.StandardCollector_create()
recognizer.predict_collect(face_img, collector)
conf = collector.getMinDist()
pred = collector.getMinLabel()
else: # older version
pred, conf = recognizer.predict(face_img)
来源:https://stackoverflow.com/questions/38797210/error-with-cv2-face-mindistancepredictcollector