yuyv v4l2的数据转换成RGB

使用方法:

 3840*2160是.yuv数据的分辨率

 data.raw为yuv格式的raw数据

 cv:显示

 out.png  不显示,存储的文件名

python3 yuv_2_rgb.py data.raw cv 3840 2160

或

python3 yuv_2_rgb.py data.raw out.png 3840 2160

源码 yuv_2_rgb.py:

import os
import sys
import cv2
import numpy as np

input_name = sys.argv[1]
output_name = sys.argv[2]
img_width = int(sys.argv[3])
img_height = int(sys.argv[4])


with open(input_name, "rb") as src_file:
    raw_data = np.fromfile(src_file, dtype=np.uint8, count=img_width*img_height*2)
    im = raw_data.reshape(img_height, img_width, 2)

    rgb = cv2.cvtColor(im, cv2.COLOR_YUV2BGR_YUYV)

    if output_name != 'cv':
        cv2.imwrite(output_name, rgb)
    else:
        cv2.imshow('', rgb)
        cv2.waitKey(0)

参考:

Machine vision – Thinking ToastersPosts about Machine vision written by Piotr Goslawskiicon-default.png?t=N7T8https://thinkingtoasters.com/category/machine-vision/

yuvio/README.md at main · labradon/yuvio · GitHubPython package for reading and writing uncompressed yuv image and video data. - yuvio/README.md at main · labradon/yuvioicon-default.png?t=N7T8https://github.com/labradon/yuvio/blob/main/README.md

YUV Colorspaceicon-default.png?t=N7T8https://softpixel.com/~cwright/programming/colorspace/yuv/

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值