[英]python How can I fix OpenCV cvtColor error?
这是错误的代码:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)
while(True):
ret, frame = cap.read()
frame = cv2.flip(frame, -1)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', frame)
cv2.imshow('gray', gray)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
这是我得到的错误:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
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
我不确定如何解决此问题。 你能帮助我吗?
错误消息说的是,您输入到cvtColor(帧)的图像应具有三个(R,G,B)或四个(R,G,B,A)通道,才能将其转换为灰度,而没有。
发生这种情况是因为:
首先,注释行
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
和
cv2.imshow('gray', gray)
并测试您是否可以看到捕获的帧。 您很可能看不到彩色图像,而这可能是问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.