Ubunu18 PNG 和 JPG 批量互转的四种方法

【我的渲染技术进阶之旅】Google开源的基于物理的实时渲染引擎Filament源码分析:在android中如何使用cmgen命令自动将.hdr文件转换为.ktx文件或者.rgb32文件等? 可以使用cmgen命令将.hdr文件转换为.ktx文件或者.rgb32f文件或者其他支持的格式可以去查看cmgen程序源代码android中,只是将手动执行cmgen命令封装了一下,在编译的时候自动执行cmgen命令。 阅读详情

计算机术语中,批处理指的是用一个非交互式的程序来执行一序列的任务[1]的方法。这篇教程里,我们会使用 Linux 命令行工具,并提供 4 种简单的处理方式来把一些 .PNG 格式的图像批量转换成 .JPG 格式的,以及转换回来。

虽然所有示例中我们使用的都是 convert 命令行工具,但是您也可以使用 mogrify 命令来达到同样的效果。

convert 命令的语法如下:

$ convert 输入选项 输入文件 输出选项 输出文件

而 mogrify 的为:

$ mogrify 选项 输入文件

注意:在使用 mogrify 命令时,默认情况下源图像文件会被转换后的新文件覆盖掉,您可以使用明确的操作选项来禁止覆盖,具体的选项可以在手册页中查询得到。

下面是把所有 .PNG 格式图像批量转换为 .JPG 格式的各种实现方式。如果想把 .JPG 转换为 .PNG 格式,也可使用这些命令,按需修改。

1、 使用 ls 和 xargs 命令来转换 PNG 和 JPG

ls 命令[2] 可以列出所有的 png 图像文件, xargs 使得可以从标准输入构建和执行 convert 命令,从而将所有 .png 图像转换为 .jpg 图像。

----------- 从 PNG 转换到 JPG ----------- 
$ ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'

----------- 从 JPG 转换到 PNG ----------- 
$ ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'

关于上面命令选项的说明:

  1. -1 – 告诉 ls 每行列出一个图像名称的选项标识
  2. -n – 指定最多参数个数,例子中为 1
  3. -c – 指示 bash 运行给定的命令
  4. ${0%.png}.jpg – 设置新转换的图像文件的名字,% 符号用来删除源文件的扩展名

Linux 中 PNG 格式转为 JPG 格式

我使用  ls -ltr 命令按修改的日期和时间列出所有文件[4]。

类似的,也可以使用上面的命令要把 .JPG 图像转换为 .PNG 格式,只需稍微调整就行。

2、 使用 GNU 的 parallel 命令来转换 PNG 和 JPG

GNU 的 parallel 使用户能够从标准输入并行构建和执行 shell 命令。确保您的系统上安装了 GNU Parallel,否则请使用以下适当的命令进行安装:

$ sudo apt-get install parallel     [在 Debian/Ubuntu 系统中]
$ sudo yum install parallel         [在 RHEL/CentOS 和 Fedora 系统中]

安装好 parallel 工具后,您就可以运行下面的命令来把所有从标准输入的 .PNG 图像转换成 .JPG 格式的图像。

----------- 从 PNG 转换到 JPG ----------- 
$ parallel convert '{}' '{.}.jpg' ::: *.png

----------- 从 JPG 转换到 PNG -----------
$ parallel convert '{}' '{.}.png' ::: *.jpg

其中:

  1. {} – 输入行替代符,代替了从输入源读取的完整行。
  2. {.} – 去除扩展名的输入行。
  3. ::: – 指定输入源的符号,即上面示例的命令行,在这里 png 或 jpg 是命令参数。

Parallel 命令 – 把所有 PNG 图像转换为 JPG 格式

或者,您也可以结合 ls[6] 和 parallel 命令来批量转换所有图像,如图所示:

----------- 从 PNG 转换到 JPG ----------- 
$ ls -1 *.png | parallel convert '{}' '{.}.jpg'

----------- 从 JPG 转换到 PNG -----------
$ ls -1 *.jpg | parallel convert '{}' '{.}.png'

3、 使用 for 循环命令来转换 PNG 和 JPG

为了避免编写 shell 脚本的繁琐,你可以从命令行执行 for 循环语句,如下所示:

----------- 从 PNG 转换到 JPG ----------- 
$ bash -c 'for image in *.png; do convert "$image" "${image%.png}.jpg"; echo “image $image converted to ${image%.png}.jpg ”; done'

----------- 从 JPG 转换到 PNG -----------
$ bash -c 'for image in *.jpg; do convert "$image" "${image%.jpg}.png"; echo “image $image converted to ${image%.jpg}.png ”; done'

对上面的命令所使用的选项参数的描述:

  1. -c 允许执行包括在单引号中的循环语句。
  2. image 变量是目录中的图像名的数量记数器。
  3. 对于每个转换操作,在 $image 转换为 ${image%.png}.jpg 这行中,echo 命令[7]通知用户 png 图像已经转换为 jpg 格式,反之亦然。
  4. ${image%.png}.jpg 语句创建了转换后的图像名字,其中 % 表示去除源图像文件的扩展名。

for 循环语句 – 从 PNG 转换到 JPG 格式

4、 使用 Shell 脚本来转换 PNG 和 JPG

如果你不想像前面的例子那样让你的命令行变得邋遢的话,可以写一个小脚本,如下所示:

注意:适当地交换 .png 和 .jpg 扩展名,如下面的例子所示,从一种格式转换到另一种格式:

#!/bin/bash
#convert
for image in *.png; do
        convert  "$image"  "${image%.png}.jpg"
        echo “image $image converted to ${image%.png}.jpg ”
done
exit 0 

把上面的脚本保存为 convert.sh 文件,然后使此脚本文件可执行,接着从存有图像文件的目录下执行。

$ chmod +x convert.sh
$ ./convert.sh

使用 Shell 脚本来批量图像转换

总之,我们介绍了一些重要的将 .PNG 图像批量转换为 .JPG 格式的方法,以及再转回来。如果还想对图像进行一些优化的话, 您可以移步到 Linux 系统中如何压缩 png 和 jpg 图像[10]这篇指导文章。

了解更多关于《计算机视觉与图形学》相关知识,请关注公众号:

在这里插入图片描述
下载我们视频中代码和相关讲义,请在公众号回复:计算机视觉课程资料

KTX软件:KTX(Khronos纹理)库和工具 官方Khronos KTX软件存储库 注意: Visual Studio 2019 v16.5和v16.6编译此软件的某些部分时会出现内部编译器错误。 v16.4可以。 对于Windows,我们建议使用Visual Studio 2017,直到Microsoft修复此错误为止。 注意:此存储库刚刚从基于GYP的系统切换到基于CMake的构建系统。 预先生成的构建文件已被删除,但是.gyp文件将在一段时间内保持可用状态,并在出现问题时使用项目根目录中的GNUMakefile生成生成文件。 您将必须安装 。 GNU / Linux,iOS和OSX 视窗 文献资料 这是Khronos KTX库和工具源代码的官方主页。 KTX(Khronos的纹理)为纹理的OpenGL轻质容器:registered:,福尔康:registered:等GPU的API。 KTX文件包含纹理加载所需的所有参数。 单个文件可以包含任何内容,从简单的基本2D纹理到带有mipmap的立方体贴图数组纹理。 包含的纹理可以是基本通用格式,也可以是OpenGL家族和Vulkan API和扩展支持的任何块压缩格式,也可 立即下载

相关推荐

texgenpack:具有KTX和DDS支持的纹理压缩和转换程序。-开源

texgenpack是一种纹理压缩和转换程序,具有命令行实用程序和简单的GUI程序。 使用遗传算法实现压缩。 它支持对纹理和图像文件进行压缩,解压缩,转换和比较。 支持的图像格式为PNG,而对于纹理,则支持使用ETC1,ETC2,DXT1 / 3/5或BPTC(BC7)纹理压缩的KTX,PKM和DDS。 还支持几种未压缩的纹理格式。 该程序需要安装libfgen,它也可以在SourceForge上使用。

如何使用Ubuntu将png转为jpg

1、sudo apt install imagemagick 2、mogrify -format jpg *.png

qq_33994373的博客 701

AI嵌入式系统测试:从确定性验证到概率性评估的体系构建

软件测试是保障系统质量的关键环节,其核心在于验证功能是否符合预期。传统嵌入式测试聚焦于确定性逻辑,通过代码覆盖、边界值分析等方法确保时序、内存等指标的精确性。随着人工智能技术的普及,深度学习模型以其概率性输出和复杂非线性映射的特性,为嵌入式系统带来了新的能力,也彻底改变了测试的范式。AI模型的‘黑盒’特性使得测试目标从‘绝对正确’转向‘置信度满足’,并催生了准确率、F1分数等新指标。在工程实践中,这种融合要求测试体系必须扩展维度,将数据质量、模型量化损失、资源约束下的精度与性能权衡纳入核心考量。尤其在嵌入式

weixin_26766559的博客 383

在 Linux 下将 PNG 和 JPG 批量互转的四种方法

计算机术语中,批处理指的是用一个非交互式的程序来执行一序列的任务[1]的方法。这篇教程里,我们会使用 Linux 命令行工具,并提供 4 种简单的处理方式来把一些 .PNG 格式的图像批量转换成 .JPG 格式的,以及转换回来。 虽然所有示例中我们使用的都是 convert 命令行工具,但是您也可以使用 mogrify 命令来达到同样的效果。 convert 命令的语法如下: $ con...

weixin_34217773的博客 343

Gromacs 模拟昆虫 P450 解毒酶与农药结合完整指南,仅供参考!

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1243

RAP 通用搜索实战:用 CDS 注解打造 Fiori Elements 的一体化检索体验

RAP应用中的通用搜索优化实践:通过CDS注解实现高效模糊匹配 摘要:本文介绍了在SAP RAP应用中优化列表搜索体验的方法。通过CDS注解配置通用搜索功能,用户无需指定字段即可在多字段中模糊匹配数据。关键实现包括:1)使用@Search.searchable启用全局搜索;2)通过@Search.defaultSearchElement标记核心搜索字段;3)利用@Search.fuzzinessThreshold设置容错阈值(0.7-1.0)处理拼写错误;4)使用@Search.ranking优化结果排序。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1398

利用命令行实现图片转换等操作--ImageMagick

为什么使用ImageMagick 经常会遇到图片的格式转换、裁剪等批量操作,当然有许多软件可以使用,考虑到功能不太全面,且需要多个软件 作为一个程序员使用命令行进行操作应该会更方便点,而且不需要下载其它软件等 这里只需要安装一个ImageMagick即可 ImageMagick是一款免费开源的图片编辑软件。既可以通过命令行使用,也可以通过C/C++、Perl、Java、PHP、Python或Ruby调用库编程来完成。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。 Ima

古月哥欠666的博客 3228

微信小程序爬虫终极指南:以电商小程序抓包与逆向分析为例(最新版)

在2026年的移动互联网生态中,微信小程序已经成为电商交易的核心载体之一。据统计,超过78%的头部电商平台都推出了微信小程序版本,其用户活跃度甚至超过原生App。对于数据从业者而言,小程序端往往藏着比Web端更丰富的接口数据——包括但不限于商品详情、价格波动、用户评价、库存变化、秒杀活动信息等。与传统的Web爬虫不同,微信小程序爬虫面临着三大核心挑战无URL地址栏:无法通过浏览器直接查看网络请求wx.request封装:所有请求均通过微信原生API发起,难以直接拦截然而,

2201_76125261的博客 539

将JPG,PNG图像转为ktx2

将JPG,PNG图像转为ktx2 ktx-software的用法

whl0071的专栏 2351

SAP Joule Studio 全景解析

摘要:SAP Joule Studio是SAP Build平台中的低代码/专业级复合工作台,用于构建和管理企业专属的Joule智能体与技能。它支持通过拖拽和声明式编排实现跨系统任务自动化,与SAP及第三方系统集成。核心构件包括Agent(智能体)、Skill(技能)、Action(动作)和Project(项目)。Joule Studio强调企业级落地,与SAP Build Process Automation等工具协同,实现从设计到运行的全生命周期管理。典型应用场景包括供应链补货、财务关账和人力服务台自动化

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 399

手把手教你学simulink(40.1)--水力发电场景示例:基于 Simulink 的抽水蓄能电站水力发电

项目背景抽水蓄能电站是一种重要的储能技术,广泛应用于电力系统的调峰填谷、频率调节和备用电源。它通过在电力负荷低谷时将水从下水库抽到上水库储存,在电力负荷高峰时释放水进行发电,从而实现电能的高效利用。与传统的水电站不同,抽水蓄能电站可以在短时间内快速响应电网的需求,具有良好的灵活性和可靠性。本项目旨在使用 MATLAB/Simulink 模拟一个完整的抽水蓄能电站的水力发电过程,包括水泵-涡轮机系统、发电机、水道系统、控制系统等,并实现对电站的精确控制,确保其在不同工况下都能稳定运行。

MHD0815的博客 886

Java——OpenSSL工具详解

c 使用:号分隔输出-r 以coreutils的格式输出-d 输出调试信息-hex 以16进制的格式输出中,默认-binary 以二进制的格式输出-sign file 使用文件中的私钥签名摘要-verify file 使用文件中的公钥验证签名-prverify file 使用文件中的私钥验证签名-keyform arg 密钥文件格式,默认PEM-out filename 输出到文件名而不是stdout-signature file 要验证的签名文件-sigopt nm:v 签名参数。

吴声子夜歌的博客 7635

【报错】raise pickle.UnpicklingError(_get_wo_message(str(e))) from None_pickle.UnpicklingError: Weigh

File "/opt/conda/envs/py_3.12/lib/python3.12/site-packages/torch/serialization.py", line 1470, in load raise pickle.UnpicklingError(_get_wo_message(str(e))) from None _pickle.UnpicklingError: Weights only load failed.

静谧、淡雅 787

游戏贴图打包工具 - TexturePacker

今天游戏搞完,准备打包上线,试了多种工具效果都不如意,后来发现了著名的TexturePacker。具体介绍如下: TexturePacker是一个非常好用的图片素材打包工具,它能帮助你减少游戏的图片内存使用。  TexturePacker是一个很强的图片打包工具  它支持几乎所有的游戏引擎   Cocos2d - iPhone   Corona(TM) SDK - Cross-pla

xiaoyao778的专栏 877

uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释

uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支

🏆 前端领域优质创作者 5644

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ubuntu批量图片格式转换

ubuntu批量图片格式转换

TriumphMaster的博客 653

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

linux(ubuntu)下照片.jpg和.png相互转换

1、GNU 的 parallel 使用户能够从标准输入并行构建和执行 shell 命令。确保您的系统上安装了 GNU Parallel,否则请使用以下适当的命令进行安装: $===sudo apt-get install parallel 2、进入相应的文件夹,使用 ls -l 列出文件夹下的照片 3、使用命令进行转换 ----------- 从 PNG 转换到 JPG ----------- $ parallel convert '{}' '{.}.jpg' ::: *.png

banzixiang的博客 1659

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Ubuntu 图像格式png到jpg的转换指令

在运行monodepth2时,文章使用的数据集是jpg格式,而从KITTI下载的是png格式。 jpg格式的数据集使用起来的运行速度会更快。 因此文章给了转换方法。其中kitti_data/换成你需要转换的数据集所在的地址。而且运行完后会将原先的png格式图片删除。 find kitti_data/ -name '*.png' | parallel 'convert -quality 92...

weixin_41790566的博客 2120

Linux下ffmpeg批量转换图片

jpg或png批量转yuv: #! /bin/bash for file in ./20210519_13-40-01/*.png do ffmpeg -i $file -pix_fmt nv21 ./video/$(basename $file .png).yuv done

Never__Say__No的博客 1216

Ubuntu 16.04 批量改文件名

在Ubuntu16.04下给文件批量改名可以使用rename命令。

hhy_csdn的博客 4805

Ubuntu系统下批量修改文件名后缀

3、修改后缀,png为修改前,jpg为修改后,*表示对当前文件夹下的png后缀文件进行修改。2、安装rename库。

balabala_333的博客 1109

ubuntu批量改文件名

rename -v 's/原字符串/新字符串/' *.mp3

L_mixiu的博客 886

Ubuntu下批处理转换jpg 2 png格式

在jpg图片目录中运行: mogrify -format png *.jpg 结果: 得到png格式图片 mogrify -resize 270x480   *.png  将图片分辨率修改为 270X480大小。 批量修改文件名,将jpg后缀的文件修改为_small.jpg rename s/.jpg/_small.jpg/ *

winds_wf的专栏 4972
上一篇: python:tuple元组与list列表
下一篇: 三维重建Fusion中的TSDF算法通俗描述
元宇宙MetaAI
博客等级 码龄10年 331粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值