สคริปต์สำหรับอ่านค่า EXIF Tag จากรูปภาพ

Last modified date

Comments: 0

ปกติโปรแกรมดูภาพต่างๆมักจะมีเมนูให้เลือกแสดงค่า EXIF Tag ให้อยู่แล้ว แต่กรณีที่เราต้องการค่าเหล่านั้นมาใช้งาน ก็จะต้องอาศัยสคริปต์เขียนโปรแกรมดึงค่าจากรูปภาพมาใช้งาน ตามตัวอย่างด้านล่างนี้

โจทย์ 1 – ใช้ bash script จาก terminal

ดึงค่า ISO,f,Speed Shutter ของภาพใดๆมาแสดงด้วย bash script


identify -verbose DSC_0287.jpg | grep "exif:ISO\|exif:FNumber\|exif:ExposureTime"

โจทย์ 2 – ใช้ bash script

ดึงค่า ISO,f,Shutter Speed มาบันทึกเป็นรูปภาพแล้วซ้อนกลับไปในภาพเดิม

#!/bin/bash
for f in *.jpg
do
a=$(identify -format '%[EXIF:ISO*]' $f)
b=$(identify -format '%[EXIF:FNumber*]' $f)
c=$(identify -format '%[EXIF:ExposureTime*]' $f)
d="ISO="${a#*=}",f="${b#*=}",speed="${c#*=}
echo $d | convert -trim text:- -bordercolor white -border 2%x30% $f.png
convert -composite $f $f.png $f-overlay.jpg

echo $f,$d
done

โจทย์ 2 – ใช้ Python

ดึงค่า ISO มาแสดง


import exifread
# Open image file for reading (binary mode)
f = open('DSC_0287.jpg', 'rb')

# Return Exif tags
tags = exifread.process_file(f)
print (tags['EXIF ISOSpeedRatings'])

ผม blog เก็บไว้เป็นแนวทางสำหรับไปต่อยอดต่อนะครับ สคริปต์ตัวอย่างนี้เป็นเพียงแนวทางคร่าวๆ คงยังเอาไปใช้งานจริงอะไรไม่ได้มากนัก คงต้องประยุกต์ไปใช้งานต่อกันครับ

 

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment