图片格式转换

  |  

摘要: 本文介绍一些图片格式转换的工具

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


imagemagick

1
sudo apt install imagemagick

安装 imagemagick 之后使用 convert 工具配合 shell 脚本可以批量给图片转换格式。例如将图片转换为pdf,命令如下:

1
convert xxx.jpg xxx.pdf

转 pdf 时可能会报错:convert-im6.q16: not authorized,解决办法:

修改配置文件 /etc/ImageMagick-6/policy.xml,找到将下面这一行

1
<policy domain="coder" rights="none" pattern="PDF" />

改为
1
2
<policy domain="coder" rights="read|write" pattern="PDF" />
<policy domain="coder" rights="read|write" pattern="LABEL" />


gthumb

对于 tiff 格式(imagemagick不支持),可以先用 gthumb 转换为 png 或 jpeg

1
sudo apt install gthumb

heif-convert

对于 HEIC 格式,也就是苹果储存照片的格式。使用 heif-convert

1
sudo apt install libheif-examples
1
heif-convert file.heic file.jpg

webp-tools

对于 webp 格式,使用 webp-tools

1
apt-get install webp

会产生几个工具

1
2
3
4
5
cwebp -> WebP encoder tool
dwebp -> WebP decoder tool
vwebp -> WebP file viewer
webpmux -> WebP muxing tool
gif2webp -> Tool for converting GIF images to WebP

dwebp 可以将 webp 转换为无损的 png,有了 png,可以继续用 imagemagick 转换为 jpg。

1
dwebp 1.webp -o 1.png

cwebp 可以将 jpg, png 转换为 webp。

1
cwebp 1.jpg -o 1.webp

批量转换的写法

1
2
3
4
5
6
for FILE in `ls *webp`
do
dwebp ${FILE} -o ${FILE}.png
done

rename "s/.webp.png/.png/" *

Share