linux下批量编辑DLSR照片

===============

DLSR的照片会比较占空间;

是否想在照片上面叠加一些拍摄参数?

是否想批量处理照片?

 

基于前人的方法,实验了一下在Linux(ubuntu)下批量处理照片,方法与脚本如下:

===============

首先需要安装一个软件:ImageMagick;

然后新建一个 .sh 文档,放在你的home目录下,添加如下代码;

然后在控制台输入  “sodu chmod +x ???????.sh” 将该.sh可执行化;

再将该 .sh 文件拷贝到 /bin目录下,这样你可以在任何地方用它了 “sudo cp ?????.sh /bin”

OK了,执行的时候,转到存放照片目录下,直接在控制台上执行 ?????.sh,就可以拉,生成的新文件夹下面就是处理后的照片;

 

PS:

记得把其中的 author='by saga'  换成你自己的名字;

convert -quality 70 $1 Resized-$1,将图像质量存为70%原图的质量,该值可以自己调整;

 

 

 

 

#!/bin/bash

#for img in `ls *.JPG`; do 

 

#字体设置

result=EXIF_`date +%Y%m%d%H%M%S`

font="/usr/share/fonts/truetype/freefont/FreeSans.ttf" #exif信息字体

drawtxt(){

#-------------------------------------------------

oldifs=$IFS

IFS="

"

exif_info=`exiv2 $1` 2>/dev/null

model=`echo "$exif_info"|grep "model"|awk -F":" '{print $2}'`

exposure=`echo "$exif_info"|grep "Exposure time"|awk -F":" '{print $2}'`

fnumber=`echo "$exif_info"|grep "Aperture    " |awk -F":" '{print $2}'`

date=`echo "$exif_info"|grep "timestamp"|awk -F" :" '{print $2}'`

size=`echo "$exif_info"|grep "Image size"|awk -F":" '{print $2}'`

ISO=`echo "$exif_info"|grep "ISO speed"|awk -F":" '{print $2}'`

author='by saga' 

px=`echo "$exif_info"|grep "Image size"|awk -F":" '{print $2}'|awk -F "x" '{print $1}'`

py=`echo "$exif_info"|grep "Image size"|awk -F":" '{print $2}'|awk -F "x" '{print $2}'`

focal=`echo "$exif_info"|grep "Focal length"|awk -F":" '{print $2}'`

#init-----------------------------------------------

[ -z "$model" ]&& exit

[ ! -d $result ]&& mkdir -p $result

echo "正在处理$1"

cp $1 $result/$1

cd $result

let "textsize=30+$py/200"

let "mask_y=35+$py/100"

convert -size "${px} x ${mask_y}" xc:"#ffffffc2" mask.png

text=" $model    $exposure    $fnumber    $ISO ISO    $focal    $size     $date     $author "

echo $text

textl=`expr length "$text"`

let "textx=50"

#叠加信息文字的X坐标,可以自己改

let "texty=$mask_y-15" 

#叠加信息文字的y坐标,这个就差不多了

 

convert -font $font -fill "#111111" -pointsize $textsize -draw "text $textx,$texty '$text'" mask.png mask.png

composite -gravity South mask.png $1 $1

convert -quality 70 $1 Resized-$1

rm mask.png

rm $1

cd ..

}

if [ $1 ]

then

drawtxt $1

else

for i in *

do

if [ -f "$i" ]

then

drawtxt $i

fi

done

fi

IFS=$oldifs

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值