当前位置:网站首页>将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)
边栏推荐
- 【JS 逆向百例】某网站加速乐 Cookie 混淆逆向详解
- Implementation of redis distributed lock
- 小程序如何使用订阅消息(PHP代码+小程序js代码)
- Recommend several methods that can directly translate PDF English documents
- DeLighT:深度和轻量化的Transformer
- 力扣 剑指 Offer 04. 二维数组中的查找
- Distributed Computing MapReduce | Spark Experiment
- GBase 8c数据库集群中,怎么替换节点呢?比如设置A节点为gtm,换到B节点上。
- 2022的七夕,奉上7个精美的表白代码,同时教大家改源码快速自用
- Shared_preload_libraries导致很多语法不支持
猜你喜欢
随机推荐
预测性维护学习之路
Typora颜色公式代码大全
智能健身动作识别:PP-TinyPose打造AI虚拟健身教练!
线程的状态
【电脑录制屏】如何使用bandicam录游戏 设置图文教程
JMeter 常用的几种断言方法,你会几种呢?
递归思想
Redis分布式锁的应用
设计信息录入界面,完成人员基本信息的录入工作,
inject() can only be used inside setup() or functional components.
通过GBase 8c Platform安装数据库集群时报错
redis分布式锁的实现
研究性学习专题 3_LL(1)语法分析设计原理与实现
leetcode 22.7.31(1)两数之和 (2)整数除法
layout manager
int *p = &a、p = &a、*p = a的正确理解
Convert callback function to Flow
如何设计一个注册中心
电脑系统数据丢失了是什么原因?找回方法有哪些?
经典递归回溯问题之——解数独(LeetCode 37)









