其实在mac上配置opencv很简单,只需要使用pycharm进行安装即可,不需要网上许多博客介绍的各种复杂方法。
打开pycharm,点击左上角pycharm 选择preference 选择 Project Intepreter ,选择python3,因为新版opencv只支持python3了,之后点+号,安装软件包,opencv-python 和opencv-contrib-python
但是,执行代码以下代码遇到各种错误
import cv2
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
cap = cv2.VideoCapture(0)
while True:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = detector.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.imshow('frame', img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
cv2.error: OpenCV(4.1.0) /Users/travis/build/skvark/opencv-python/opencv/modules/core/src/persistence.cpp:719: error: (-49:Unknown error code -49) Input file is empty in function 'open'
cv2.error: OpenCV(4.1.0) /Users/travis/build/skvark/opencv-python/opencv/modules/objdetect/src/cascadedetect.cpp:1658: error: (-215:Assertion failed) !empty() in function 'detectMultiScale'
我本以为是开发环境配置的问题,又先后尝试了许多,例如使用Anaconda,这有一遍文章介绍的还算详细http://www.1zlab.com/wiki/python-opencv-tutorial/opencv-mac-environment/,其实使用这个工具可以有一个较好的开发环境,这篇文章有一个问题需要指出,在pycharm中添加解释器时,选择的应该不是作者说的macOS下的python文件,而是具体建立环境下的python 文件,例如我建立了一个opencv环境,我选择的就是
其实最后我发现问题不是出在环境上,而是我的分类器文件上
就是它
之前我是直接到github上迅雷下载的,文件大小8mb多
之后我尝试了下载我的opencv版本3.4.2对应的项目源码https://github.com/opencv/opencv/releases/tag/3.4.2,找到这个文件,将它拖入我的项目中,现在一切运行正常。
如果还是有报错,可以尝试在分类器的绝对路径放入。
如下: