Toybrick

python下opencv读取视频文件失败

piccolo

中级会员

积分
316
楼主
发表于 2019-5-5 11:01:13    查看: 8727|回复: 1 | [复制链接]    打印 | 只看该作者
视频文件是avi格式,大小45M 分辨率 1280x720
源码:
import sys
import cv2

if __name__ == '__main__':
        if sys.argv[1] is None:
                print("please specify a video filename\n");
                exit(1)
        video_file =  sys.argv[1]
        cap = cv2.VideoCapture(video_file)
        if not cap.isOpened():
                print('video file {} open failed\n'.format(video_file))
                exit(1)
        while True:
                ret,frame = cap.read()
                if not ret:
                        break
                cv2.imshow('frame',frame)
                cv2.waitKey(500)
        cv2.destroyAllWindows()
        cap.release()




报错如下
OpenCV(3.4.1) Error: Assertion failed (chunk.m_size <= 0xFFFF) in readFrame, file /builddir/build/BUILD/opencv-3.4.1/modules/videoio/src/container_avi.cpp, line 514
Traceback (most recent call last):
  File "rknn_rk.py", line 19, in <module>
    ret,frame = cap.read()
cv2.error: OpenCV(3.4.1) /builddir/build/BUILD/opencv-3.4.1/modules/videoio/src/container_avi.cpp:514: error: (-215) chunk.m_size <= 0xFFFF in function readFrame


google了一下 ,分析是opencv 3.4.1的bug  于是尝试通过pip升级opencv,但升级失败
(venv) [toybrick@localhost rknn]$ pip install opencv-python
Collecting opencv-python
  ERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)
ERROR: No matching distribution found for opencv-python


请问如下在当前的SDk下 使用python的opencv 读取视频文件?


回复

使用道具 举报

troy

版主

积分
2374
沙发
发表于 2019-5-8 17:29:52 | 只看该作者
本帖最后由 troy 于 2019-5-8 17:32 编辑

不能通过pip升级pencv,我们的opencv是通过sudo dnf install python3-opencv安装的。可以重新执行下安装命令升级,如果无法升级只能自己编译安装最新版本的opencv
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表