【问题标题】:cv2 error in face detection人脸检测中的cv2错误
【发布时间】:2018-08-04 22:32:04
【问题描述】:

我编写了一个程序,将导入图像以进行面部识别和分析,但是,我收到此错误

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.error: /home/piwheels/opencv-
    python/opencv/modules/imgproc/src/color.cpp:10638: error: (-215) scn == 3 || scn == 4 in function cvtColor

这是代码的主要部分,它将导入图像:

frame = vs.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.equalizeHist(gray)
faces = faceDetector(gray, 0)

for (i, face) in enumerate(faces):

    facialLandmarks = facialLandmarkPredictor(gray, face)
    facialLandmarks = face_utils.shape_to_np(facialLandmarks)

    (x, y, w, h) = face_utils.rect_to_bb(face)
    cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
    cv2.putText(frame, '#{}'.format(i+1), (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

    landmarksArray = realTimeFacialLandmarks.getDistance(facialLandmarks)
    realTimeFacialLandmarks.facialPointJson(t,landmarksArray)

    for (a, b) in facialLandmarks:
        cv2.circle(frame, (a, b), 1, (0, 0, 255), -1)

我无法纠正这个文件中的错误,有人可以指出其中的错误吗?

【问题讨论】:

  • 当您注册时,我们鼓励您阅读What topics can I ask about here?。 #1:“寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。”我建议相应地编辑您的问题。

标签: python opencv


【解决方案1】:

这可能是实际从视频源捕获帧的问题。最有可能的是,您向cv2.cvtColor 发送了错误或空图像。我建议查看一些有关正在发生的事情的其他信息,例如检查 vs.isOpened() 的返回值(如果成功打开则为 true),以及您返回的框架的图像属性,例如 frame.shape,其中应该看起来像(640, 480, 3)

【讨论】:

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