error: (-215) scn == 3 || scn == 4 in function cvtColor when usig video from webcam in Ubuntu
error: (-215) scn == 3 || scn == 4 in function cvtColor when usig video from webcam in Ubuntu
我有一个 flask 服务器托管一个 http 服务器。在我的笔记本电脑中使用 Ubuntu 16.04。我有下一个代码将灰色帧发送到服务器。
import cv2
import time
from kafka import KafkaClient, SimpleProducer
kafka = KafkaClient('xxx.xxx.xxx.xxx:9092')
producer = SimpleProducer(kafka)
topic = 'TutorialTopic'
def video_emmiter():
cap = cv2.VideoCapture(0)
if(cap.isOpened() < 0):
print("Camera can't opend")
return -1
while(True):
ret, frame = cap.read()
rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
ret, jpeg = cv2.imencode('.jpeg', rgb)
print(len(jpeg))
producer.send_messages(topic, jpeg.tobytes())
if cv2.waitKey(1) & 0xFF == ord('q'):
out = cv2.imwrite('capture.jpg', rgb)
break
time.sleep(0.01)
cap.release()
if __name__ == '__main__':
print("start transmision")
video_emmiter()
我收到以下错误:
start transmision
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /io/opencv/modules/imgproc/src/color.cpp, line 10638
Traceback (most recent call last):
File "cam.py", line 30, in <module>
video_emmiter()
File "cam.py", line 16, in video_emmiter
rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: /io/opencv/modules/imgproc/src/color.cpp:10638: error: (-215) scn == 3 || scn == 4 in function cvtColor
我看了说可能是摄像头驱动,如果是这些我现在怎么设置驱动呢。
还有其他建议吗?
希望这对您有所帮助。
检查您是否将视频正确地提供给程序。
处理图像文件时,如果在特定位置找不到文件,就会弹出此错误。
我有一个 flask 服务器托管一个 http 服务器。在我的笔记本电脑中使用 Ubuntu 16.04。我有下一个代码将灰色帧发送到服务器。
import cv2
import time
from kafka import KafkaClient, SimpleProducer
kafka = KafkaClient('xxx.xxx.xxx.xxx:9092')
producer = SimpleProducer(kafka)
topic = 'TutorialTopic'
def video_emmiter():
cap = cv2.VideoCapture(0)
if(cap.isOpened() < 0):
print("Camera can't opend")
return -1
while(True):
ret, frame = cap.read()
rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
ret, jpeg = cv2.imencode('.jpeg', rgb)
print(len(jpeg))
producer.send_messages(topic, jpeg.tobytes())
if cv2.waitKey(1) & 0xFF == ord('q'):
out = cv2.imwrite('capture.jpg', rgb)
break
time.sleep(0.01)
cap.release()
if __name__ == '__main__':
print("start transmision")
video_emmiter()
我收到以下错误:
start transmision
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /io/opencv/modules/imgproc/src/color.cpp, line 10638
Traceback (most recent call last):
File "cam.py", line 30, in <module>
video_emmiter()
File "cam.py", line 16, in video_emmiter
rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: /io/opencv/modules/imgproc/src/color.cpp:10638: error: (-215) scn == 3 || scn == 4 in function cvtColor
我看了说可能是摄像头驱动,如果是这些我现在怎么设置驱动呢。
还有其他建议吗?
希望这对您有所帮助。 检查您是否将视频正确地提供给程序。 处理图像文件时,如果在特定位置找不到文件,就会弹出此错误。