UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xbb in position 65: invalid start byte

openCV系列文章目录

前言

今天测试了一下使用openCV-python中读取视频流
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xbb in position 65: invalid start byte
在这里插入图片描述

# coding=utf-8


import cv2


cv2.namedWindow('video', cv2.WINDOW_AUTOSIZE)

# 获取视频设备
cap = cv2.VideoCapture(0)

while True:
    # 从摄像头读视频帧
    ret, frame = cap.read()
    # 将视频帧在窗口中显示
    cv2.imshow("video", frame)

    # 等待键盘事件,如果输入‘q’,退出
    key = cv2.waitKey(0)

    if (key & 0xFF == ord('q')):
        break

    # 释放videoCapture
    cap.release()

    cv2.destroyAllWindows()

在这里插入图片描述
在这里插入图片描述

一、出现的问题

1.opencv-python中有些时候还是要区分单引号和双引号的问题
(1)解决办法1:把双引号改成单引号
cv2.imshow("video", frame)
修改成:cv2.imshow('video', frame)
(2)第二种解决办法在文件头加入:

# coding=utf-8

2.第二个问题:只能读取到摄像头一帧的数据
解决办法:
key = cv2.waitKey(0)
修改成:key = cv2.waitKey(1)

运行效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aoxuestudy/article/details/129316483