数据预处理的时候遇到文件格式的问题,有两种方法:

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相互转化相关推荐

  1. linux文件中的换行符,Linux中的换行符

    说明:本文仅供学习交流,转载请标明出处,欢迎转载! 将windows下编写的一个txt文件在Linux下打开的时候发现每行行末都会多出^M,而将Linux编写的一个txt文件在windows下打开时发 ...

  2. c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程

    很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...

  3. linux的tar中ztvf,linux中的tar命令(2)

    实例4:只将 /tar 内的 部分文件解压出来 命令: tar -zxvf /opt/soft/test/log30.tar.gz log2013.log 输出: [root@localhost te ...

  4. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  5. java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能

    想写个小程序实现类似linux中管道的功能,创建一个外部子进程,然后主进程不断地写输入给子进程,而后把子进程的返回值取出. 如下的小代码就是从stdin读入一个字符串,调用子进程(cat)返回这个串, ...

  6. linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本

    提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...

  7. linux ls 命令 路径,使用ls命令在Linux中使用完整路径列出文件

    许多人会发现,这是重复的问题,但我已经经历了所有问题,然后问及这个主题,但没有为我工作.使用ls命令在Linux中使用完整路径列出文件 我想打印使用ls命令的特定文件格式的完整路径名到目前为止,我发现 ...

  8. linux中的ln属性,linux 常用基础命令 ln 详细介绍

    命令介绍: ln是linux中又一个非常重要命令,ln是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我 ...

  9. linux内核定义的常用信号6,Linux中的信号

    在 Linux 中,理解信号的概念是非常重要的.这是因为,信号被用于通过 Linux 命令行所做的一些常见活动中.例如,每当你按 Ctrl+C 组合键来从命令行终结一个命令的执行,你就使用了信号.每当 ...

最新文章

  1. [NSTaggedPointerString text]:unrecognized selector sent to instance
  2. 我的第一个C#版GDI+程序
  3. 利用Jenkins实现JavaWeb项目的自动化部署
  4. CGLib 调用API 及原理分析
  5. (Tool)Symantec Northon和eset northon哪个好?
  6. 北京科技大学计算机专业评估,北京科技大学王牌专业有哪些
  7. ajax获取php的数组,使用AJAX请求获取数组并将其传递到php数组中 - javascript
  8. 学习,学习javascript
  9. markdown编辑器 使用语法
  10. PyQt4设置窗口左上角的小图标
  11. ERROR Could not find value for key log4j.appender.Console
  12. AtCoder Beginner Contest 171 B - Mix Juice
  13. 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)
  14. 个人信息安全规范----7、个人信息安全事件处置
  15. Visual Servo Control Part I: Basic Approaches
  16. ES8 - async 和 await
  17. webpack配置及热更新原理
  18. 电脑硬盘中文件丢失怎样才能找回?硬盘数据丢失能恢复吗
  19. 黑客技术论坛为什么越来越少了?
  20. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~14开始游戏-流程处理

热门文章

  1. C# SolidWorks 二次开发 API---提高草图绘制效率
  2. TWaver可视化软件(五)电力可视化 下
  3. Mac OS下的自带虚拟光驱
  4. 大一微积分笔记整理_微积分大一基础知识经典讲解
  5. HTML 压缩库 HtmlCompressor
  6. Restorator破解版下载
  7. 蓝牙指环扫描枪【心科码】
  8. 新主板安装linux系统安装,UEFI主板GPT方式安装CentOS 6.4
  9. 简单网页设计前端(入门)
  10. eCryptfs v0.1 Design Document