目的很明确就是批量把jpg图片转为YUV格式。

------------------------------------------------------------------

先看一下win下具体如何操作的:

1. 下载ffmpeg,转码图片和视频的利器啊!官方免费下载地址:https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-4.2-win64-static.zip

2. 无需安装,解压缩之后即可使用。这时需要使用windows的cmd运行命令行来进行转码:

先定位到bin文件夹下面:

cd C:\ffmpeg-4.2-win64-static\bin

然后运行命令行:

ffmpeg -i test.jpg -s 640x480 -pix_fmt yuv420p test.yuv

也可以用test%d.jpg来批量处理图片,test1.jpg,test2.jpg 。。。

3. 这样输出的yuv文件就会出现在bin文件夹下面。如果需要转换其他格式图片,只需要将jpg替换成bmp或者png即可。需要注意的是:

-pix_fmt yuv420p需要添加上,如果不添加的话,往往转码结果为yuv444格式,不是一般读者所需要的。另外输入图片需要放在bin文件夹下面。

附:推荐一个yuv播放器: https://www.newasp.net/soft/373286.html

原文链接:https://blog.csdn.net/laoyouji/article/details/100051158
————————————————

我具体Linux下面操作如下:

先打开Anaconda Prompt,输入如下命令:

conda config --add channels conda-forge
conda install ffmpeg
pip install ffmpy

安装ffmpeg

官网(各种版本):ffmepg官网

window版:https://ffmpeg.zeranoe.com/builds/

将下载好的windows版解压,其中会有一个bin文件夹,把里面的ffmpeg.exe复制到你将要跑python代码的文件夹里

这里这样做的目的,为了下面的python代码可以直接加载运行EXE文件。

# -*- coding: utf-8 -*-

import os

from PIL import Image

from ffmpy import FFmpeg

in_jpgDatasetPath = 'I:/VOC/trainval'

out_yuvDatasetPath = 'I:/VVC/loop/yuvdataset'

piclist = os.listdir(in_jpgDatasetPath)

for pic in piclist:

 picname = pic.split('.')[0]

 picpath = os.path.join(in_jpgDatasetPath,pic)

 img = Image.open(picpath)

 in_wid,in_hei = img.size

 out_wid = in_wid//16*16

 out_hei = in_hei//16*16

 size = '{}x{}'.format(out_wid,out_hei) #输出文件会缩放成这个大小

 outname = out_yuvDatasetPath + '/' + picname + '_'+size+ '.yuv'

 

 ff = FFmpeg(inputs={picpath:None},

    outputs={outname:'-s {} -pix_fmt yuv420p'.format(size)})

 print(ff.cmd)

 ff.run()

以上这篇利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法

======================================================================

YUV----》jpg

在win上操作的,前提是在win上安装好了FFmpeg工具。

打开cmd ,输入cd F:\YUV\ffmpeg-20191101-53c21c2-win64-static\bin 无效,继续 F:显示如下,生成的jpg默认放在F:\YUV\ffmpeg-20191101-53c21c2-win64-static\bin 里面,当然在代码里面可以指定具体路径。

ffmpeg 将jpg转为yuv420p
ffmpeg -i xxx.jpg -s 1624x1236 -pix_fmt yuvj420p xxx.yuv

1624*1236 为需要缩放的yuv分辨率,不用缩放的话,可以省略!

jpeg转yuv422p

ffmpeg -i a.jpg -s 640x480 -pix_fmt yuv422p a.yuv
ffmpeg -pix_fmt yuv422p -s 640x480 -i a.yuv b.jpg

yuv转jpeg或bmp

1.       生成yuv文件,yuv文件由Y,Cb,  Cr三大部分组成,且每部分分块存储(例如,一帧320x240的视频存为yuv文件为 Y---240*320,Cb,Cr分别为240*160, 240*160。

2.       使用ffmpeg工具转换:

转换为jpg格式:ffmpeg -y -s 320x240 -i D:\yuv2jpg\capture0.yuv -b 20000000 xxd.jpg

转换为bmp格式:ffmpeg -y -s 320x240 -i D:\yuv2jpg\capture0.yuv -b 20000000 xxd.bmp

使用ffmpeg把多张jpeg与yuv相互转换的方法
jpeg转yuv ffmpeg -i gyuv%03d.png -pix_fmt yuv420p -r 29.970 -y goutput.yuv

yuv转jpeg ffmpeg -y -s 111×222 -i G:\yuv.yuv jpeg%04d.jpg -vcodec mjpeg

参考:https://www.jb51.net/article/154234.htm

https://blog.csdn.net/zhangpeterx/article/details/88581437

https://blog.csdn.net/smilestone_322/article/details/21104871

yuv 和jpg互相转相关推荐

  1. OpenCV YUV 与 RGB的互转(草稿)

    YUV 转 RGB cv::Mat yuvImg; /*//下面两行是我自己代码里用来构成YUV图像的数据,可以忽略 yuvImg.create(pInput->height*3/2, pInp ...

  2. 1小时学会:最简单的iOS直播推流(五)yuv、pcm数据的介绍和获取

    最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...

  3. 视音频数据处理入门:RGB、YUV像素数据处理【转】

    转自:http://blog.csdn.net/leixiaohua1020/article/details/50534150 ==================================== ...

  4. android 显示yuv数据格式,YUV数据格式的理解

    音视频解码之YUV视频格式 前言: 由于工作的需要接触到了音视频方面的知识,在这里就行一些知识的 整理,以免后面忘记.后面我也会写一些工作中遇到的问题整理,以及在音视 频这方面的进阶,期待自己的成长. ...

  5. 转:YUV RGB 常见视频格式解析

    转: http://www.cnblogs.com/qinjunni/archive/2012/02/23/2364446.html YUV RGB 常见视频格式解析 I420是YUV格式的一种,而Y ...

  6. 用于自动驾驶的实时 YUV 多任务 CNN

    作者 | AI 修炼之路 来源 | AI 修炼之路 摘要 本文提出了一种针对低功耗车用SoC优化的多任务卷积神经网络(CNN)结构.我们介绍了一个基于统一架构的网络,其中编码器由检测和分割两个任务共享 ...

  7. rgb和yuv的区别

    rgb将一个颜色拆解为3个纯色的亮度组合. yuv将一个颜色分解为一个亮度和2个色度的组合.

  8. matlab显示YCrCb的图像,【Matlab系列】读取并显示YUV视频文件

    Date: 2019-5-12 1.读取并显示YUV视频文件Matlab代码 %% 1.读取视频内容并显示 fid = fopen('akiyo_cif.yuv','r'); %读入YUV文件 row ...

  9. 2个YUV视频拼接技术

    http://blog.csdn.net/huahuahailang/article/details/9040847 2个YUV视频拼接技术 http://zhongcong386.blog.163. ...

  10. 摄像头YUV图像常见数据格式介绍

    1.YUV模型分类: 是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间,常见的YUV格式描述有YUY2.YUYV.YVYU.UYVY.AYUV.Y41P.Y411.Y211.IF09.IY ...

最新文章

  1. [洛谷P3387]【模板】缩点
  2. 信息收集工具exiftool获取图片中的exif信息
  3. Linux的mmap内存映射机制解析
  4. 170304 地铁修建 ccf
  5. 动态规划算法入门---java版
  6. 伤肾的九个恶习及解决办法(图)
  7. hdu acm2548
  8. python可以下载百度文库_不用下载券也能下载百度文库资料,Python帮你轻松搞定...
  9. 多维奇异谱分析(Multivariate Singular Spectrum Analysis,MSSA)
  10. Python进制转换
  11. 刷题:牛客-快速入门篇
  12. html怎么隐藏项目符号,CSS-如何隐藏侧边栏列表中的项目符号?
  13. layui table表格隐藏
  14. ubuntu虚拟机中的vscode:扩展失败XHR Failed
  15. Android下拉刷新的实现(一) - SwipeRefreshLayout篇
  16. JavaSE自学笔记016_Real(多线程)
  17. 获取代理IP(proxy_pool)
  18. 嘿,这里有你想要的Javascript本源
  19. Flash ActionScript3 一种按照真实占位宽度截短字符串的方法
  20. 撕开的黎明--孔庆东卷

热门文章

  1. 企业电子招标采购系统源码+ 前后端分离 + 二次开发+Spring Cloud
  2. scrapy爬虫之抓取《芳华》短评及词云展示
  3. 2016年的读书计划
  4. ​​2021遥感应用组二等奖:基于机器学习回归算法的鄱阳湖水质遥感定量反演及时序变化监测研究
  5. 电脑版微信不显示头像和表情
  6. ES搜索--轻量搜索语法
  7. 迎来新兴市场数字化转型红利,雅乐科技潇洒画出“向上曲线”
  8. 经典语录大全的一些思考
  9. Exadata使用技巧 (-)
  10. 高铁汽车电力交通能耗水利CANBUS总线4G/5G远程无线网关控制单元