Linux下自己制作证件照电子版
如果有一个人,需要一张证件照的电子版去办事(办医保卡啊或者其他证照),那么一个选择是照相馆啦,还有一个选择就是自己动手喽。
像这种证件照,都会有一些拍照的要求,比如双耳要露出啦,头上不能有任何装饰啦等等,这个注意一下就好了。另外,还有一些对图片上的要求,比如说:白底,照片尺寸,照片格式,大小等。
我们现在都有智能手机,手机拍照质量对于证件照来说,那都是绰绰有余的。所以,这里就来说一下如何自己动手在linux下做一张证件照。这里以医保卡的证件照要求为例:白底、格式jpeg、宽高358X441、大小25~40k。
首先,用手机拍一张照片,在白墙做背景,人脸端正,拍好后,在手机上旋转调一下,确保人脸端正就好了。在手机上能操作的,就不用转到电脑上操作了。然后将照片传到电脑上。
介绍下电脑Linux下做证件照要用到的命令:1.identify 2.convert。这2个工具都是属于ImageMagick工具套件包里的工具。3.jpegoptim。这个工具是当图片超过文件大小要求后,压缩图片使文件变小的。
identify是一个功能单一的小工具,就是看图片文件的格式和图像的基本特征。
而convert的功能就比较多了,可以转换图片格式,还有裁剪、模糊处理,翻转等等,许多功能。
先用identify来看一下图片信息
identify IMG_ORG.jpg
IMG_ORG.jpg JPEG 2648x3532 2648x3532+0+0 8-bit sRGB 2.03333MiB 0.000u 0:00.000
这里列出了文件名IMG_ORG.jpg(就是最初手机传到电脑上的图片),宽(2648)和高(3532),文件大小为2M等信息
然后呢,因为原始尺寸是2648X3532(1:1.33),而目标尺寸是358x441(1:1.23),这2者的比例是不匹配的,为了让照片不要有扭曲,我们将原始尺寸按目标尺寸等比例的裁剪一下。
convert IMG_ORG.jpg -crop $[358*6]x$[441*6]+$[358/2]+$[441/2] IMG_V1.jpg
使用convert命令,指定输入源文件IMG_ORG.img,输出目的文件IMG_V1.jpg。
选项crop表示裁剪,后接一个要裁剪的范围,用一个几何值表示,意思为以左上为原点,移动到指定位置($[358/2]+$[441/2])开始,尺寸为目标尺寸的6倍($[358*6]x$[441*6])
如果裁剪出的效果不满意,可以调整几何值重新运行命令,总之有点耐心,到自己满意为止(人像在图像中居中并占据大部分版面)。
后面就比较简单了。用convert调整大小到目标大小。然后如果大小超过了40k,用jpegoptim压缩一下即可。
因为裁剪后的尺寸和目标尺寸是等比例缩放的关系了,我们可以放心的调整尺寸而不用担心图像变形:
convert -resize 358x441 IMG_V1.jpg IMG_V2.jpg
最后查看一下大小
identify IMG_V2.jpg
IMG_V2.jpg JPEG 358x441 358x441+0+0 8-bit sRGB 49633B 0.000u 0:00.009
看,已经符合目标358x441的尺寸了,但是文件大小为49K,超了9k,超了一点点,没关系,
我们用jpegotpim压缩一下,先按原图90%质量的标准压缩(其实肉眼看不出差别)
jpegoptim -m90 IMG_V2.jpg -d opt
IMG_V2.jpg 358x441 24bit N Exif ICC JFIF [OK] 49633 --> 30517 bytes (38.51%), optimized.
选项-d opt是将目标文件放到opt目录下,如果没有这个选项,会覆盖原图片文件。
好了大功告成,图片大小是30k了,所有的要求都符合了。可以愉快的去办证了~
下面是操作完成后形成的过程图:
- 点赞
- 收藏
- 关注作者
评论(0)