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. python 网络编程之Socket通信案例消息发送与接收
  2. eclipese web前端开发教学_Web前端零基础好学吗?新手该怎么学?
  3. python 做山水画_服了!年度最强的编程语言来了!它不是Python!
  4. Java中的异常处理:何时抛出异常,何时捕获异常?
  5. RocketMQ-Spring 毕业两周年,为什么能成为 Spring 生态中最受欢迎的 messaging 实现?
  6. jQuary的相关动画效果
  7. cli3解决 ie11语法错误 vue_基于 Vue + Koa2 + MongoDB + Redis 实现一个完整的登录注册...
  8. 都9012年了,还有人说IntelliJ IDEA不好用?那是因为没掌握这些技巧。
  9. 俱乐部通知[即日起启用微软Live Meeting]
  10. python入门20 导入模块(引包)
  11. pythonopencv算法_OpenCV算法精解 基于Python与C++pdf
  12. vue实现滑块滑动校验
  13. [转]二十四式太极拳攻防含义拆解
  14. Chess Queen
  15. 数据结构——十大排序算法
  16. 数据结构-哈夫曼树详解(类C语言版)
  17. 服务器IUSR_机器名账号找不到怎么办?(转自百度问问)
  18. F607Za光猫设置拨号及相关技术
  19. 悬挂式数字麦克风阵列 多点视频会议
  20. 我的世界虚拟服务器联机,我的世界模拟城市联机教程-的世界怎么联机

热门文章

  1. 散列表应用---电话号码查询系统
  2. uniapp渐变式导航条按钮出发事件
  3. NSVisualEffectView (SwiftUI 中文文档手册 教程含源码)
  4. 掌控板教程 | 掌控板 V1.1 测试版语音识别初体验
  5. 不同服务器的ps4账号吗,原神PC与PS4互通数据吗 不同平台数据互通分析
  6. 纯代码实现的分割线____简单而有效的html画线代码hr实例,纯代码实现的分割线____简单而有效的html画线代码“hr”实例...
  7. 贵阳python培训机构_贵阳有几家有名的学生编程教育机构
  8. BCE loss与交叉熵损失区别
  9. mulitpartfile怎么接收不到值_最小均方误差接收机(MMSE接收机)
  10. 【开箱】B.FRIENDit BAG01懒骨头沙发椅,让你尽情耍废!