imageMagic是个图片处理工具,通过命令行处理,能够实现文件裁剪 缩放,旋转,锐化,降噪,增强等等功能,使用起来也不麻烦,都是敲命令。
先到官网下载imagemagic,然后命令
以下命令都是我亲自测试过的
降低噪声
magick input.jpg -noise 10 output.jpg
- -noise 10:设置降噪的强度,范围通常是 0 到 100,值越大降噪效果越明显。
但是这种方式会报异常提示
替换方式:
magick input.jpg -statistic median 3x3 output.jpg
在这个命令中:
- -statistic median 3x3:使用中位数滤波来进行降噪,3x3 是卷积窗口的大小。你可以调整窗口大小来达到最佳效果。
- input.jpg:输入图片文件名。
- output.jpg:输出降噪后的图片文件名。
使用 -blur 进行降噪 0x? ?值越大越模糊
另一个可以用来平滑图像并减少噪声的方法是使用 -blur 操作:
bash
magick input.jpg -blur 0x2 output.jpg
在这个命令中:
- -blur 0x2:应用模糊滤镜。第一个参数 0 表示标准差(可以保持为 0),第二个参数 2 是半径。调整半径以获得所需的效果。
- input.jpg:输入图片文件名。
- output.jpg:输出降噪后的图片文件名。
转换格式
magick dog.jpg dog.png
magick dog.jpg dog.jpeg
图片旋转
旋转图像 90 度
magick input.jpg -rotate 90 output.jpg
- -rotate 90:将图像顺时针旋转 90 度。
magick input.jpg -rotate 45 -background white -gravity center -extent 1000x1000 output.jpg
- background white:设置背景颜色为白色。
- -gravity center:确保旋转后的图像以中心为基准进行扩展。
- -extent 1000x1000:指定输出图像的尺寸。根据需要调整宽度和高度。
裁剪大小
将原图片大小重新设置为640,480大小的,实际好像会根据宽度等比例调整
magick .\cat_2.jpg -resize 640x480 test_2.jpg
裁剪图片的一部分: 如果你只想裁剪图片的一部分(比如从左上角 50 像素到右下角 250x250 像素的区域):
- 250x250:裁剪区域的宽度和高度。
- +50+50:裁剪区域的起始坐标。
- 批量处理
- magick *.jpg thumbnail%03d.png
- 会生成thumbnail001.png thumbnail0xx.png,推测%03d就是最后3位数字,递增
- magick '*.jpg[120x120]' thumbnail%03d.png
这种方式生成的图片只有120*120大小
变小50%
magick rose.jpg -resize 50% rose.png
添加水印
magick input.jpg -gravity southeast -pointsize 36 -fill white -annotate +10+10 'Watermark' output.jpg
magick cat_2.jpg -gravity Center -pointsize 100x100-40+20 -fill yellow -annotate +50+50 'Watermark' output.jpg
1. 添加文字水印
- -gravity southeast:设置文本的位置,southeast 表示右下角。可以使用 northwest、center 等其他位置。
- -pointsize 36:设置文本的字体大小。
- -fill white:设置文本颜色为白色。你可以使用其他颜色或颜色代码。
- -annotate +10+10 'Watermark':添加水印文本,+10+10 是相对于指定位置的偏移量。
- input.jpg:输入图片文件名。
- output.jpg:输出添加水印后的图片文件名。
2. 添加图片水印
假设你有一个水印图像 watermark.png,可以通过以下命令将其添加到 input.jpg:
bash
magick input.jpg watermark.png -gravity southeast -geometry +10+10 -composite output.jpg
- watermark.png:水印图片文件名。
- -gravity southeast:设置水印的位置,southeast 表示右下角。可以选择其他位置。
- -geometry +10+10:设置水印相对于指定位置的偏移量。
- -composite:将水印图像合成到输入图像上。
- input.jpg:输入图片文件名。
- output.jpg:输出添加水印后的图片文件名。
3. 调整水印透明度
如果你想要设置水印的透明度,可以使用 -compose 和 -dissolve 选项:
bash
magick input.jpg watermark.png -gravity southeast -geometry +10+10 -compose atop -dissolve 50 -composite output.jpg
- -compose atop:指定合成方式为 atop,表示水印将覆盖在原图之上。
- -dissolve 50:设置水印的透明度,值范围从 0 到 100,50 表示半透明。
图片增强
1. 调整亮度和对比度
magick cat_57.jpeg -brightness-contrast 10x20 cat_57_new.jpg
- -brightness-contrast 10x20:增加亮度 10 和对比度 20。
2. 锐化
imagick cat_66.jpeg -sharpen 0x2 cat_66_new.jpg
- -sharpen 0x1:锐化图片。第一个参数 0 是半径,第二个参数 1 是强度。
3. 调整饱和度
magick cat_68.jpeg -modulate 100,150,100 cat_68_new.jpg
- -modulate 100,150,100:调整饱和度。100 是亮度,150 是饱和度,100 是色调。
4. 增加对比度
magick cat_68.jpeg -level 10%,90% cat_68_new2.jpg
微调对比度
您可以调整色阶值以微调对比度。例如:
- 0%,100%提供最大对比度。
- 20%,80%提供中等对比度。
5. 调整曝光
magick cat_68.jpeg -auto-level cat_68_new3.jpg
- -auto-level:自动调整曝光和对比度。
magick cat_68.jpeg -modulate 110,120,130 output.jpg
- 110:增加亮度到原始值的 110%。
- 120:增加饱和度到原始值的 120%。
- 130:增加色调到原始值的 130%。
6. 增加锐度
magick cat_68.jpeg -brightness-contrast 15x30 cat_68_new4.jpg
图片的亮度增加 15,对比度增加 30
图片颜色空间转换
. 1.从 RGB 转换为 CMYK
magick cat_68.jpeg -colorspace CMYK output_cmyk.jpg
将图像从 RGB 颜色空间转换为 CMYK 颜色空间,这对于印刷目的非常重要。
2. 从 CMYK 转换为 RGB
magick cat_68.jpeg -colorspace RGB output_cmyk.jpg
3. 从 RGB 转换为灰度图像
magick cat_68.jpeg -colorspace Gray output_gray.jpg
将图像转换为灰度图像,所有颜色信息将被转换为灰度级别。
4. 从 RGB 转换为 HSV
magick input.jpg -colorspace HSV output_hsv.jpg
5. 从 RGB 转换为 LAB
magick input.jpg -colorspace LAB output_lab.jpg
生成gif
magick-delay 50 frame1.png frame2.png frame3.png animated.gif
-delay 参数使用 1/100 秒为单位,因此 50 表示 0.5 秒的延迟。