linux中jpg与png相互转化
数据预处理的时候遇到文件格式的问题,有两种方法:
1.命令行
安装parallel和convert:
$ sudo yum install parallel
$ sudo yum install ImageMagick
(1)png转jpg
$ parallel convert '{}' '{.}.jpg' ::: *.png
(2)jpg转png
$ parallel convert '{}' '{.}.png' ::: *.jpg
2. python
文件convert.py内容如下:
import cv2
import os
import argparseparser = argparse.ArgumentParser(description='convert')parser.add_argument('--srcpath', default='./source_dir/',help='Source data path ')
parser.add_argument('--tgtpath', default='./target_dir/',help='Target data path ')parser.add_argument('--from', dest='srctype', default='png',help='Source image type: jpg/png')
parser.add_argument('--to', dest='tgttype', default='jpg',help='Target image type: jpg/png')args = parser.parse_args()path = args.srcpath
picture_type = args.srctypenewpath = args.tgtpath
if not os.path.exists(newpath):os.mkdir(newpath)path_list=os.listdir(path)
number=0
for filename in path_list:number+=1portion = os.path.splitext(filename)# print('convert ' + filename +' to '+portion[0]+'.'+picture_type)img = cv2.imread(path+"/"+filename)cv2.imwrite("./"+newpath+"/"+portion[0]+'.'+args.tgttype,img)
print('converted ' + str(number) +' images to '+newpath)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行命令:
python convert.py --srcpath path/to/source/dir --tgtpath path/to/target/dir
linux中jpg与png相互转化相关推荐
- linux文件中的换行符,Linux中的换行符
说明:本文仅供学习交流,转载请标明出处,欢迎转载! 将windows下编写的一个txt文件在Linux下打开的时候发现每行行末都会多出^M,而将Linux编写的一个txt文件在windows下打开时发 ...
- c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程
很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...
- linux的tar中ztvf,linux中的tar命令(2)
实例4:只将 /tar 内的 部分文件解压出来 命令: tar -zxvf /opt/soft/test/log30.tar.gz log2013.log 输出: [root@localhost te ...
- centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)
1 PHP简介 PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...
- java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能
想写个小程序实现类似linux中管道的功能,创建一个外部子进程,然后主进程不断地写输入给子进程,而后把子进程的返回值取出. 如下的小代码就是从stdin读入一个字符串,调用子进程(cat)返回这个串, ...
- linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...
- linux ls 命令 路径,使用ls命令在Linux中使用完整路径列出文件
许多人会发现,这是重复的问题,但我已经经历了所有问题,然后问及这个主题,但没有为我工作.使用ls命令在Linux中使用完整路径列出文件 我想打印使用ls命令的特定文件格式的完整路径名到目前为止,我发现 ...
- linux中的ln属性,linux 常用基础命令 ln 详细介绍
命令介绍: ln是linux中又一个非常重要命令,ln是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我 ...
- linux内核定义的常用信号6,Linux中的信号
在 Linux 中,理解信号的概念是非常重要的.这是因为,信号被用于通过 Linux 命令行所做的一些常见活动中.例如,每当你按 Ctrl+C 组合键来从命令行终结一个命令的执行,你就使用了信号.每当 ...
最新文章
- [NSTaggedPointerString text]:unrecognized selector sent to instance
- 我的第一个C#版GDI+程序
- 利用Jenkins实现JavaWeb项目的自动化部署
- CGLib 调用API 及原理分析
- (Tool)Symantec Northon和eset northon哪个好?
- 北京科技大学计算机专业评估,北京科技大学王牌专业有哪些
- ajax获取php的数组,使用AJAX请求获取数组并将其传递到php数组中 - javascript
- 学习,学习javascript
- markdown编辑器 使用语法
- PyQt4设置窗口左上角的小图标
- ERROR Could not find value for key log4j.appender.Console
- AtCoder Beginner Contest 171 B - Mix Juice
- 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)
- 个人信息安全规范----7、个人信息安全事件处置
- Visual Servo Control Part I: Basic Approaches
- ES8 - async 和 await
- webpack配置及热更新原理
- 电脑硬盘中文件丢失怎样才能找回?硬盘数据丢失能恢复吗
- 黑客技术论坛为什么越来越少了?
- 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~14开始游戏-流程处理