OpenCV读出来的是按BGR存储的,如何转变成传统的RGB格式

          opencv 视频帧的数据是按按BGR存储的,想转变成传统的RGB格式便于和其他库对接使用

方法1

          核心代码

                    cv2.cvtColor(Frame,cv2.COLOR_BGR2RGB) ,其中 Frame 是 cv2 读出来的 BGR 数据。

          示例

import cv2

cap = cv2.VideoCapture('1.avi')
assert cap.isOpened(), '视频文件打开失败'
ret, Frame = cap.read()  # 读取一帧图像 ret读取了数据就返回True,没有读取数据(已到尾部)就返回False frame返回读取的视频数据--一帧数据
nowFrame = cv2.cvtColor(Frame,cv2.COLOR_BGR2RGB)   # 转成RGB

方法2

          核心代码

                    nowFrame = cv2.merge([R,G,B]) ,其中 Frame 是 cv2 读出来的 BGR 数据。

          示例

import cv2

cap = cv2.VideoCapture('1.avi')
assert cap.isOpened(), '视频文件打开失败'
ret, Frame = cap.read()  # 读取一帧图像 ret读取了数据就返回True,没有读取数据(已到尾部)就返回False frame返回读取的视频数据--一帧数据
B,G,R = cv2.split(Frame)   # 把三个通道的数据分离
nowFrame = cv2.merge([R,G,B])  # 用 merge 函数来重构

猜你喜欢

转载自blog.csdn.net/qq_43657442/article/details/109291569
今日推荐