在命令行中使用 ImageMagick 转换 图像

  • 使用终端安装 ImageMagick 实用程序。在 Debian、Ubuntu 或者 Mint 中,输入 sudo apt install imagemagick
  • 要转换图像,命令是 convert [input options] input file [output options] output file
  • 要调整图像大小,请输入 convert [imagename].jpg -resize [dimensions] [newimagename].jpg

本教程展示了如何使用 Linux 命令行操作图像。

我们将了解如何在文件大小和比例方面调整图像大小。
我们还将学习如何在多种文件类型之间进行转换,例如从 JPG 到 PNG 或者从 GIF 到 TIF。

如何调整图像的文件大小

有多种方法可以更改图像的物理文件大小。

  • 更改纵横比(使其变小)
  • 更改文件格式
  • 更改压缩质量

减小图像的大小将使文件大小更小。
此外,使用包含压缩的文件格式(例如 JPG)将使我们能够减小物理文件的大小。

最后调整质量将使物理文件大小更小。

要压缩图像,请尝试以下命令:

convert imagename.jpg -quality 90 newimage.jpg

如何旋转图像

如果我们拍摄了纵向照片,但希望它是横向图像,则可以使用以下命令旋转图像:

convert imagename.jpg -rotate 90 newimage.jpg

我们可以指定任何旋转角度。

例如,

convert imagename.jpg -rotate 45 newimage.jpg

如何调整图像大小

要调整图像大小,请使用以下命令

convert imagename.jpg -resize dimensions newimagename.jpg

例如,要将图像转换为 800x600,我们可以使用以下命令:

convert imagename.jpg -resize 800x600 newimagename.jpg

如果通过转换为指定的尺寸,纵横比将被弄乱,图像将被调整为最接近的比例。

要强制转换为精确大小,请使用以下命令:

convert imagename.jpg -resize 800x600! newimagename.jpg

我们不必在调整大小命令中指定高度和宽度。
例如,如果我们希望宽度为 800 而我们不关心高度,则可以使用以下命令:

convert imagename.jpg -resize 800 newimagename.jpg

要将图像大小调整为指定的高度,请使用以下命令:

convert imagename,jpg -resize x600 newimagename.jpg
如何使用 Linux 转换图像

convert命令

convert 命令用于转换图像。
格式如下:

convert [input options] input file [output options] output file.

安装 ImageMagick

convert 命令不是默认的 Linux 系统实用程序,大多数发行版都没有提供。
我们很有可能需要安装它。

Convert 来自 ImageMagick,这是一种被许多应用程序使用的流行图像处理实用程序。
首先在系统上安装它。

Debian/Ubuntu/ Mint

sudo apt install imagemagick

Fedora/CentOS

sudo dnf install ImageMagick

OpenSUSE

sudo zypper install ImageMagick

Arch Linux/Manjaro

sudo pacman -s imagemagick

convert命令行选项

有许多命令行选项可以与 convert 命令一起使用,如下所示:

选项按命令行顺序处理。
我们在命令行上指定的任何选项对后面的图像集仍然有效,直到该集因任何选项或者 -noop 的出现而终止。
某些选项仅影响图像的解码,而其他选项仅影响编码。
后者可以出现在最后一组输入图像之后。

选项说明
-adjoin将图像合并为一个多图像文件
-affine绘制变换矩阵
-antialias去除像素混叠
-append附加一组图像
-average平均一组图像
-background背景颜色
-blur x用高斯算子模糊图像
-border x用彩色边框包围图像
-bordercolor边框颜色
-box设置注释边界框的颜色
-cache像素缓存可用的兆字节内存
-channel渠道类型
-charcoal模拟木炭画
-chop x{+-}{+-}{%}从图像内部删除像素
-clip应用剪切路径(如果存在)
-coalesce合并一系列图像
-colorize用笔颜色为图像着色
-colors图像中的首选颜色数
-colorspace色彩空间的类型
-comment用注释注释图像
-compose图像合成的类型
-compress图像压缩类型
-contrast增强或者降低图像对比度
-crop x{+-}{+-}{%}裁剪图像的首选大小和位置
-cycle按数量替换图像颜色图
-debug启用调试打印输出
-deconstruct将图像序列分解为组成部分
-delay <1/100ths of a second>暂停后显示下一张图片
-density x图像的垂直和水平分辨率(以像素为单位)
-depth图像的深度
-despeckle减少图像中的斑点
-display指定要联系的 X 服务器
-disposeGIF处理方法
-dither将 Floyd/Steinberg 误差扩散应用于图像
-draw用一个或者多个图形基元注释图像
-edge检测图像中的边缘
-emboss压印图像
-encoding指定字体编码
-endian指定输出图像的字节序(MSB 或者 LSB)
-enhance应用数字滤波器来增强嘈杂的图像
-equalize对图像执行直方图均衡
-fill填充图形基元时使用的颜色
-filter调整图像大小时使用这种类型的过滤器
-flatten展平一系列图像
-flip创建“镜像”
-flop创建“镜像”
-font使用文本注释图像时使用此字体
-frame x++用装饰性边框围绕图像
-fuzz {%}这个距离内的颜色被认为是相等的
-gamma伽马校正级别
-gaussian x用高斯算子模糊图像
-geometry x{+-}{+-}{%}{@} {!}{<}{>}图像窗口的首选大小和位置。
-gravity方向基元在注释图像时被吸引。
-help打印使用说明
-implode围绕中心内爆图像像素
-intent在管理图像颜色时使用这种类型的渲染意图
-interlace交错方案的类型
-label为图像分配标签
-level调整图像对比度级别
-list列表类型
-loop将 Netscape 循环扩展添加到您的 GIF 动画
-map从此图像中选择一组特定的颜色
-mask指定剪贴蒙版
-matte如果图像有一个,则存储遮罩通道
-median对图像应用中值滤波器
-modulate改变图像的亮度、饱和度和色调
-monochrome将图像转换为黑白
-morph变形图像序列
-mosaic从图像序列创建马赛克
-negate用补色替换每个像素
-noise在图像中添加或者减少噪声
-noopNOOP(无选项)
-normalize转换图像以跨越整个颜色值范围
-opaque将此颜色更改为图像中的笔颜色
-page x{+-}{+-}{%}{!}{<}{>}图像画布的大小和位置
-paint模拟一幅油画
-pen指定绘图操作的笔颜色
-ping有效地确定图像特征
-pointsizePostscript、OPTION1 或者 TrueType 字体的点数
-preview图像预览类型
-process处理一系列图像
-profile将 ICM、IPTC 或者通用配置文件添加到图像
-qualityJPEG/MIFF/PNG 压缩级别
-raise x使图像边缘变亮或者变暗
-region x{+-}{+-}将选项应用于图像的一部分
-resize x{%}{@}{!}{<}{>}调整图像大小
-roll {+-}{+-}垂直或者水平滚动图像
-rotate {<}{>}对图像应用 Paeth 图像旋转
-sample使用像素采样缩放图像
-sampling_factor xJPEG 或者 MPEG-2 编码器和 YUV 解码器/编码器使用的采样因子。
-scale缩放图像。
-scene设置场景编号
-seed伪随机数生成器种子值
-segment x分割图像
-shade x使用远处的光源对图像进行遮蔽
-sharpen x锐化图像
-shave x从图像边缘刮掉像素
-shear x沿 X 或者 Y 轴剪切图像
-size x{+offset}图像的宽度和高度
-solarize否定阈值水平以上的所有像素
-spread以随机量替换图像像素
-stroke描边图形基元时使用的颜色
-strokewidth设置描边宽度
-swirl围绕中心旋转图像像素
-texture要平铺到图像背景上的纹理名称
-threshold阈值图像
-tile填充图形基元时平铺图像
-transform变换图像
-transparent使此颜色在图像中透明
-treedepth颜色减少算法的树深度
-trim修剪图像
-type图像类型
-units图像分辨率的类型
-unsharp x使用 unsharp mask operator 锐化图像
-use_pixmap使用像素图
-verbose打印有关图像的详细信息
-viewFlashPix 查看参数
-wave x沿正弦波改变图像
-write写一个图像序列[转换,合成]

如何从一种图像格式转换为另一种图像格式

如果我们有一个 JPG 文件并且希望将其转换为 PNG,那么我们可以使用以下命令:

convert image.jpg image.png

我们可以组合多种不同的文件格式。
例如:

convert image.png image.gif
convert image.jpg image.bmp
convert image.gif image.tif
日期:2020-07-15 11:16:28 来源:oir作者:oir