在Opencv中使用BGR模式而不是RGB的原因

RGB通道和BGR通道的区别是顺序不一样,其它没有什么区别。而为什么opencv选择的是BGR是因为OpenCV的早期开发当时BGR颜色格式在相机制造商和软件提供商中很受欢迎。

 

在从文件中播放视频时遇到以下报错

out=cv2.VideoWriter_fourcc('output.avi',-1,20.0,(640,480))
TypeError: Expected single character string for argument 'c1'

Python+opencv 无法正确读取视频

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        frame = cv2.flip(frame,0)

        out.write(frame)
        cv2.imshow('frame',frame)
        if cv2.waitKey(1)  == ord('q'):
            break
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

 

import cv2

cap = cv2.VideoCapture('output.avi')

while (cap.isOpened()):
    ret, frame = cap.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame', gray)
    if cv2.waitKey(1)  == ord('q'):  # 适当调整等待时间
        break

cap.release()
cv2.destroyAllWindows()

 

 

保存视频的过程中遇到的问题:

AttributeError: module 'cv2' has no attribute 'cv'

原因:早期的视频编码格式是  fourcc = cv2.cv.FOURCC(*'XVID')

现在的编码格式是 fourcc = cv2.VideoWriter_fourcc(*'XVID')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值