当前位置:网站首页>将jpg图片转换成yuv420(NV12)数据文件
将jpg图片转换成yuv420(NV12)数据文件
2022-08-04 08:34:00 【鲁破特之泪】
代码功能:将文件夹下所有jpg文件转换成同名的yuv文件。
yuv文件是yuv420(NV12)格式的数据位,文件内容为yyyyyyyyy…uvuvuv…
import os
import cv2
from tqdm import tqdm
def bgr2yuv420bin(path_yuv, img_bgr):
yuv = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2YUV)
y = yuv[:, :, 0]
u = yuv[:, :, 1]
v = yuv[:, :, 2]
u = cv2.resize(u, (int(u.shape[1] / 2), int(u.shape[0] / 2)))
v = cv2.resize(v, (int(v.shape[1] / 2), int(v.shape[0] / 2)))
with open(path_yuv, 'wb') as f:
for row in range(y.shape[0]):
for col in range(y.shape[1]):
f.write(y[row, col])
for row in range(u.shape[0]):
for col in range(u.shape[1]):
f.write(u[row, col])
f.write(v[row, col])
path_jpg = r'/media/fang/Samsung USB/tsr/input_src/weight' # jpg图片路径 不要有中文
path_output = r'/media/fang/3441-913C/tsr/test' # 输出yuv文件路径
for root, dirs, files in os.walk(path_jpg):
for file in tqdm(files):
img = cv2.imread(root + '/' + file)
bgr2yuv420bin(path_output + '/' + file.replace('jpg', 'yuv'), img)
边栏推荐
猜你喜欢
随机推荐
leetcode 22.7.31(1)两数之和 (2)整数除法
解决报错: YarnScheduler: Initial job has not accepted any resources
JNI学习1.环境配置与简单函数实现
DNS 查询原理详解—— 阮一峰的网络日志
使用GBase 8c数据库的时候,遇到这种报错
Linux Redis cache avalanche, breakdown, penetration
Yolov5更换主干网络之《旷视轻量化卷积神经网络ShuffleNetv2》
【论文笔记】Understanding Long Programming Languages with Structure-Aware Sparse Attention
预测性维护学习之路
金仓数据库 KDTS 迁移工具使用指南 (5. SHELL版使用说明)
MySQL group_concat()详解
小程序如何使用订阅消息(PHP代码+小程序js代码)
GBase 8c中怎么查询数据库配置参数,例如datestyle。使用什么函数或者语法呢?
经典二分法查找的进阶题目——LeetCode33 搜索旋转排序数组
[STM32] STM32F103 series name and package, memory
秒懂大模型 | 3步搞定AI写摘要
推荐几种可以直接翻译PDF英文文献的方法
实现加载驱动、得到数据库对象、关闭资源的代码复用,将代码提取到相应的工具包里边。优化程序
powershell和cmd对比
2022的七夕,奉上7个精美的表白代码,同时教大家改源码快速自用









