图像处理

批量转换图像格式

mogrify是imagemagick自带的批处理命令,

# emf -> tif
mogrify.exe -format tif -density 600 -compress jpeg *.emf

# -format    转换格式
# -density   改变图像分辨率,不改变图像的像素尺寸
# -resample  改变图像分辨率,改变图像的像素尺寸
# -compress  压缩格式,jpeg表示压缩为jpg格式

# png -> jpg
mogrify.exe -format jpeg -density 96 -quality 20 *.png
​

批量压缩图像

压缩图像的经验:dpi不要动,图像质量改为80或者中等。

  • 批量压缩jpg图像,
Get-ChildItem -Path . -Filter "*.jpg" | ForEach-Object {magick -quality 30 $_ $_}

# -quality 压缩质量,30表示压缩到30%的质量
​
  • 批量压缩png图像,
Get-ChildItem -Path . -Filter "*.png" | ForEach-Object {pngquant --quality=10 $_ -f -o $_}

# -f       强制覆盖已存在的文件
# -quality 压缩质量,10-30表示压缩到10-30%的质量
# -o       输出文件名
​
  • 批量将tiff图像的透明背景转换为白色背景,并压缩图片,
Get-ChildItem -Path . -Filter "*.tif" | ForEach-Object {magick $_ -background white -flatten -compress JPEG -quality 80 $_}

# -background 设置背景颜色
# -flatten    将图像的所有图层合并,并将透明区域用指定的背景颜色填充
# -compress   压缩格式,JPEG表示压缩为jpg格式
# -quality    压缩质量,80表示压缩到80%的质量
​