【问题标题】:Face detection errors in cv2cv2 中的人脸检测错误
【发布时间】:2015-08-14 07:40:43
【问题描述】:

最近我一直在尝试编写一个可以检测人脸的简单程序。我以前从来没有这样做过,所以这对我来说更像是一个热身来掌握它。但是我尝试的每一个不同的样本都会出错。我什至直接从 OpenCV 网站上复制了示例,但除了对我来说没有意义的错误之外,我仍然一无所获。

我完全从这个网站复制了我的代码 http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html#gsc.tab=0

我收到了这个错误

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /build/buildd/opencv-2.4.9+dfsg/modules/imgproc/src/color.cpp, line 3737
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: /build/buildd/opencv-2.4.9+dfsg/modules/imgproc/src/color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cvtColor

【问题讨论】:

  • 这取决于错误。请分享上面代码的错误。
  • 我编辑了我的问题。我在上传脚本时遇到了问题,所以我只是把我复制脚本的网站和错误也上传了。
  • 看起来使用这个特定的脚本,您的图像不适合调用您的代码。看一下这个。 stackoverflow.com/questions/20822288/…
  • 请在 cvtColor 之前打印 img.channels。

标签: python image opencv numpy


【解决方案1】:

要使用函数“cvtColor”,图像应该是 3 或 4 通道。 例如:

  1. 这是将彩色图像转换为灰度图像(src有3个通道,而dst有1个通道)

    cvtColor(src,dst,CV_BGR2GRAY);

  2. 这是将颜色从 RGB 转换为 YCrCb 空间(src 和 dst 都有 3 个通道)

    cvtColor(src,dst,CV_BGR2YCrCb);

【讨论】:

    猜你喜欢
    • 2018-08-04
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2014-12-01
    • 2020-04-07
    • 2020-04-30
    • 2020-05-17
    • 2012-04-17
    相关资源
    最近更新 更多