【问题标题】:The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support该功能未实现。使用 Windows、GTK+ 2.x 或 Carbon 支持重建库
【发布时间】:2017-02-02 21:25:38
【问题描述】:

我正在尝试在 mac 上使用 opencv 进行面部识别,但不断收到此错误消息:

The function is not implemented. Rebuild the library with 
Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian,
install libgtk2.0-dev and pkg-config, then re-run cmake or configure
script in function cvShowImage

我在 mac osx 上使用 python 并使用 pip 安装了 opencv。有没有人有过这个错误的经验,如果有,你是如何解决的?

这是我的代码:

import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

img = cv2.imread('/william.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)

for (x, y, w, h) in faces:
    img = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex, ey, ew, eh) in eyes:
        cv2.rectangle(roi_color, (ex, ey), (ex+ew, ey+eh), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

【问题讨论】:

  • ...关于如何解决这个问题的任何想法?(假设 this 是 openCV 无法打开窗口,即imshowLong way:你应该按照错误信息所说的去做。您安装的版本是在不支持您尝试执行的操作的情况下编译的。您需要下载源代码并自行编译以满足您的需求。这是一个非常简单的过程一旦你明白你在做什么这是很难实现的。如果您真的想了解 OpenCV,您应该尝试一下。 捷径:正如this 建议的那样,您可以在mac 上调整opencv 安装。

标签: python opencv


【解决方案1】:

试试这些步骤:

  1. 验证安装 opencv 库文件的目录

    print(cv2.getBuildInformation())
    
  2. 重新编译它via instruction on linux(或官方网站上的另一个)

  3. 将文件从重新编译目录“build/bin”复制到您之前的 opencv 所在的目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-11
    • 2018-11-19
    • 2015-04-30
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多