1、yuv格式简介

yuv格式不同于bgr。
YUV ,指的是 YCbCr,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。
根据采样方式以及排列方式分了好多种细致的格式,常用的有yuyv422等。
https://zhuanlan.zhihu.com/p/384455058

2、yuyv422转jpg

转格式之前必须只有yuyv的长和宽,以5120960举例
ffmpeg
ffmpeg -loglevel error -y -s 5120
960 -pix_fmt yuyv422 -i 4366.yuv -frames:v 1 4366.jpg
opencv

def convert_yuyv422(yuv_file, yuv_shape=(1920, 720)):h, w = yuv_shapeyuv_file = open(yuv_file, 'rb')frame_len = h * w * 2shape = (w, h, 2)  # 用于yuyv2长度为w*h*2raw = yuv_file.read(int(frame_len))yuv = np.frombuffer(raw, dtype=np.uint8)yuv = yuv.reshape(shape)bgr = cv2.cvtColor(yuv, cv2.COLOR_YUV2BGR_YUYV)cv2.imwrite('cv2.jpg', bgr)

下列链接有更本质的方法,但是太慢了不推荐。
https://blog.csdn.net/qq_36917144/article/details/120505174

3、yuv bgr888编码转jpg

yuv本质上没有bgr888的格式,所以这种只是把bgr888编码的存为了yuv而已
ffmpeg
ffmpeg -s 1920x720 -pix_fmt bgr24 -i 4399.yuv -frames:v 1 4399.jpg
python

def yuvbgr888_to_bgr(yuv_file, yuv_shape=(1920, 720)):h, w = yuv_shapeyuv_file = open(yuv_file, 'rb')frame_len = h * w * 3shape = (w, h, 3)  # 用于yuv转bgr,对于yuyv格式,需要2通道raw = yuv_file.read(int(frame_len))yuv = np.frombuffer(raw, dtype=np.uint8)yuv = yuv.reshape(shape)cv2.imwrite('cv2.jpg', yuv)

4、另一种实现

def yuvbgr888(yuv_file, yuv_shape=(1920, 720)):img = np.fromfile(yuv_file, dtype='uint8')h, w = yuv_shapeimg = img.reshape(w, h, 3)cv2.imwrite('cv2.jpg', img)def yuyv422_to_bgr2(yuv_file, yuv_shape=(1920, 720)):h, w = yuv_shapeshape = (w, h, 2)  # 用于yuv转bgr,对于yuyv格式,需要2通道yuv = np.fromfile(yuv_file, dtype='uint8')yuv = yuv.reshape(shape)bgr = cv2.cvtColor(yuv, cv2.COLOR_YUV2BGR_YUYV)cv2.imwrite('cv2.jpg', bgr)

python opencv把yuv格式转bgr相关推荐

  1. python opencv图片读入格式转换

    opencv中提供了图片格式转换的方法,主要是采用cv2.cvtColor函数. 方法如下: import cv2output1=cv2.imread('D:/super_reslution/SRCN ...

  2. Python+OpenCV视频的读取与处理;截取部分图像数据; 边界填充

    视频读取 ●cv2.VideoCapture可以捕获摄像头, 用数字来控制不同的设备,例如0,1. ●如果是视频文件,直接指定好路径即可. import cv2 #opencv默认读取格式是BGR v ...

  3. OpenCV技巧 | 常用格式图片保存为透明背景图片(附Python源码)-教你轻松制作Logo

    导读 本文主要介绍使用OpenCV将常用格式图片保存为透明背景图片的方法与实现代码. 实现目标 本文的目标有如下两个: ① 将常见格式[jpg/png/bmp]白色背景图片转换保存为透明背景图片: ② ...

  4. 在Python中使用OpenCV将RGB格式的图像转换为HSV格式的图像

    An HSV is another type of color space in which H stands for Hue, S stands for Saturation and V stand ...

  5. OpenCV - 将图片转换为深度学习模型输入格式,BGR通道转RGB,图片归一化,HWC转CHW

    文章目录 1 将图片转换为深度模型输入格式 1.1 自行进行转换 1.1.1 BGR通道转RGB通道 1.1.2 图片归一化 1.1.3 HWC转CHW 1.2 使用cv::dnn::blobFrom ...

  6. python+openCV (入门级)车道线检测 学习笔记

    文章目录 前言 一.openCV安装 二.尝试使用cv2中库函数 1.读取图片 2.图片显示 3.延时/暂停 4.保存图片 5.清楚所有窗口 三.Canny边缘检测 1.高斯滤波 2.图片转换 3.边 ...

  7. 使用Python+OpenCV+dlib为人脸生成口罩

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达推荐阅读 42个pycharm使用技巧,瞬间从黑铁变王者Google ...

  8. python opencv 检测特定颜色

    python opencv 检测特定颜色 import cv2 import numpy as npcap = cv2.VideoCapture(0)# set blue thresh 设置HSV中蓝 ...

  9. 2020-11-06 Python OpenCV给证件照换底色

    投简历.找工作这些事都需要证件照,有些还要求证件照背景颜色.尺寸大小,本文分享一下如果通过Python OpenCV来实现照片裁剪和更换背景色 1.读取照片 import cv2import nump ...

最新文章

  1. 基于WinDbg的内存泄漏分析
  2. 以太坊合约24小时新增2.44万ETH
  3. 【计算机网络笔记】物理层:概念传输媒体传输方式
  4. layUI日期框回调函数
  5. Ubuntu 18.04 LTS安装crossover类虚拟机平台
  6. 红黑树 RBTree
  7. scala 资源 copy 自知乎
  8. 史上最详细Oracle 10g安装教程
  9. HTML关闭网页弹出窗口代码
  10. minic 类型声明与变量定义句型处理
  11. 微信公众号开发-自定义菜单
  12. word流程图两条线的端点连接_word 2013流程图连线 word流程图连线
  13. Normal Map中的值, Tangent Space, 求算 Tangent 与 Binormal 与 TBN Matrix
  14. 微软edge如何退出登录_Microsoft Edge:评论
  15. DCM4CHEE-ARC-LIGHT
  16. 天辰的救赎(JS)第四章(组合元素)
  17. 解答:CPU温度多少正常?CPU温度过高怎么解决?
  18. Type-C快充诱电方案(PD受电)
  19. 四旋翼定高篇之惯导加速度+速度+位置三阶互补融合方案
  20. DGHV:整数上的同态加密(2)-解决噪声与构建全同态蓝图

热门文章

  1. 计算机显示用户文件夹,移动Win7用户文件夹(我的文档)默认位置至D盘
  2. 约瑟夫环--C语言解析
  3. 同花顺_代码解析_技术指标_L
  4. 讲真的,我并不看好元宇宙
  5. BCELoss计算原理 使用latex语法
  6. Java学习之类(三):构造方法和创建对象
  7. 自定义绘制地图(Echarts)
  8. 面试六十家公司的深圳体验
  9. linux内核驱动ldd3_《Linux设备驱动程序》编译LDD3的scull驱动问题总结***
  10. 计算机专业的考研大学排名,18考研:全球计算机专业排名出炉,国内3所大学入选前十!...