如何在Linux终端中处理图像

是否厌倦了不断打开您喜欢的图像编辑器进行简单裁剪,调整大小或更改文件格式的烦恼?也许您需要轻松地批量或在软件中执行这些任务?

这是使用Linux转换工具的方法,该工具使您可以通过命令行通过终端执行所有这些操作,以及更多其他操作。

安装ImageMagick

转换工具是流行的imagemagick软件包的一部分,您需要先安装它。检查以下命令是否安装了ImageMagick:

 convert --version

如果显示ImageMagick的版本号,则说明它已经安装,您可以进入下一部分。否则,请使用以下命令安装ImageMagick:

 sudo apt-get -y install imagemagick

获取图像信息

您可以使用以下命令获取任何图像的基本信息:

 convert <FILENAME> -print "Type: %m
Size: %b
Dimensions: %wx%h
" /dev/null

这将为您提供图像mime类型,文件大小(以KB为单位)及其尺寸(以像素为单位),并且外观类似于:

 Type: jpeg
Size: 35.6KB
Dimensions: 640 x 480

更改图像文件格式

您可以使用以下方法轻松更改任何图像的文件格式:

 convert <SOURCE_FILE> -append <DEST_FILE>

此命令将采取<SOURCE_FILE>文件,将其转换成合适的格式,并保存在<DEST_FILE>一个新的形象,必须使用正确的文件扩展名(即,JPG,GIF,PNG等)的DEST_FILE,它会自动检测将图像转换为哪种格式。

在Linux中调整图像大小

如果要调整图像的大小,或者快速生成缩略图,可以使用-resize选项。运行以下命令:

 convert -resize 25% <SOURCE_FILE> <DEST_FILE>

这将调整图像的大小,并在DEST_FILE处创建一个新图像文件,该文件的大小为源图像的25%。请注意,上面的命令不会将大小减小25%,而是会生成大小的25%的新图像。如果需要放大图像,可以将百分比调整为大于100%。

除了按比例调整大小外,还可以使用以下命令指定特定尺寸:

 convert -resize 1024x768 profile.jpg profile_large2.jpg

上面的命令会将源图像的大小调整为1024×768像素,并将新图像保存在DEST_FILE中。

裁剪图像

如果需要从顶部或侧面取一点,可以使用以下命令裁剪图像:

 convert <SOURCE_FILE> -crop 640x250+0+0 <DEST_FILE>

例如,如果源图像为640×480像素,则上面的命令将导致DEST_FILE是一个640×250像素的图像,其中包含图像的上半部分,而下半部分被裁剪掉。上面命令中的+ 0 + 0指定图像的最左上角,换句话说,指定从哪里开始裁剪。

使用上面的示例,您可以使用以下命令来保存图像的下半部分:

 convert <SOURCE_FILE> -crop 640x250+0+230 <DEST_FILE>

这将在源图像中的0x230处开始裁剪,裁剪出上半部分,仅保留下半部分。

旋转影像

您甚至可以使用以下命令旋转图像:

 convert <SOURCE_FILE> -rotate 90 <DEST_FILE>

上面的命令将源图像顺时针旋转90度,并将结果图像保存在DEST_FILE中。

为图像添加标题

转换工具的另一个出色功能是能够立即将字幕添加到图像,包括在图像中放置字幕的位置,以及要使用的字体系列,大小和颜色。使用以下命令将标题添加到图像:

 convert profile.jpg -pointsize 14 -font helvetica -fill yellow -draw 'text 270,160 "Warm Regards from the Family" ' profile_cap.jpg

上面的命令将使用黄色的Helvetica 14pt字体在源图像上添加标题“来自家庭的温暖”,图像的左上角开始于270×160像素,并将结果保存在DEST_FILE中。

请注意,您必须谨慎使用-draw选项,该选项必须以单引号开头,然后是最左上角点的位置,然后是标题的文字由双引号引起来。

大量可用的颜色,如果需要,您可以使用以下命令列出计算机支持的所有颜色:

 cb:>showrgb

字体的选择取决于您的计算机,但是通常会使用所有标准字体。每个操作系统都有一些不同,但是例如在Ubuntu中,字体位于/ usr / share / fonts目录中,并且包含您可以在上述命令中使用的所有可用系统字体的列表。

混合和匹配图像编辑命令

您可以将以上任一选项混合使用,以提高效率。例如,如果您的大图像方向错误,尺寸为2571×1200像素,并且想要生成300×200的缩略图,则可以使用以下命令:

 convert <SOURCE_FILE> -rotate 90 -crop 1200x800 -resize 25% <DEST_FILE>

上面将首先将图像旋转90度,使新尺寸为1200×2571像素。接下来,它将多余的部分裁剪掉,使其只有800像素的高度,最后将图像调整为原始大小的25%,从而最终生成300×200像素的缩略图。

批量处理映像目录

是否有要使用同一命令处理的图像的整个目录?在Linux中这没问题。例如,您可能希望通过将它们的大小调整为当前图像的30%来生成当前工作目录中所有图像的缩略图:

 mkdir thumbs
for i in `ls | grep .jpg$`; do convert $i -resize 30% thumbs/$i; done

上面的命令将遍历当前目录中所有具有.jpg扩展名的文件,将其大小调整为其大小的30%,并将生成的缩略图放置在/ thumbs /子目录中。

图像处理变得轻松!

希望通过本教程,您可以通过终端轻松而轻松地操作图像,并且可以通过单个命令轻松地批量处理整个目录。

您已经了解了ImageMagick的转换工具,以及如何轻松地更改文件格式,调整大小,裁剪,旋转以及为图像添加字幕。还有大量可用的附加功能–尝试使用convert -help选项以获得完整列表。