imagemagick

 

ทำห้องแสดงภาพผ่านเว็บด้วยไพธอนอย่างง่าย
ความต้องการคือ

  • โยนภาพใส่ไดเรกทอรี่ (ด้วยมือ คือคัดลอกผ่านเชลล์) แล้วให้โปรแกรมจัดการลดขนาดและสร้างภาพเล็กสำหรับแสดง
  • เก็บไฟล์ภาพเหมือนระบบไฟล์ปกติ เพื่อไม่ให้ระบบไฟล์ซับซ้อนเกินไป
  • ไม่แตะต้องไฟล์ภาพต้นฉบับ และต้องสามารถเข้าถึงได้
  • หมุนภาพอัตโนมัติ และให้มีหน้า admin สำหรับหมุนภาพในภายหลัง ในกรณีที่เป็นภาพที่ไม่มีข้อมูล Exif

ทำกับเดเบียน+ไพธอน โดยใช้มอดูล wsgi ผ่าน apache2, มอดูล Image และเรียกใช้โปรแกรมภายนอกคือ imagemagick

เริ่มด้วยติดตั้งแพกเกจ และเปิดใช้มอดูล wsgi

 

ความจำเป็นบีบบังคับให้ต้องรีบหาโปรแกรมที่สามารถทำ Annotation ไฟล์ tif ให้ได้
จริง ๆ ก็มีโปรแกรมชื่อ Xournal ที่สามารถทำ annotate บน pdf ได้
ซึ่งเราอาจแปลง tif ไปเป็น pdf ก่อน แล้วจึงค่อยลงมือแก้ไข
แต่พบว่าในรุ่นปัจจุบันบน sid คือ 0.3.3 ยังทำ Text annotation ไม่ได้
และรุ่นล่าสุด 0.4 ความสามารถและการใช้งานยังค่อนข้างด้อยกว่าที่ Kodakimg ทำได้อยู่โข

 

ยังหาโปรแกรมที่ใช้แก้ไขภาพ tif แบบหลายหน้า แบบ Imaging for Windows บนลินุกซ์ไม่ได้
ก็คงต้องใช้แบบบรรทัดคำสั่งไปพลาง ๆ ก่อน

ขั้นตอนคือ
ต้องลง ImageMagick ก่อน
$ sudo aptitude install imagemagick

แตกไฟล์ tif แบบหลายหน้าออกมาเป็น แบบหน้าเดียวหลายไฟล์
$ convert image.tif x%d.tif

แก้ไขหน้าที่ต้องการจากไฟล์ที่แตกออกมาแล้ว ด้วย gimp สมมุติว่าเป็นหน้า 2
$ gimp x2.tif

 
แปลงรูปจาก jpg ธรรมดา ไปเป็น jpg แบบ interlace
ใช้คำสั่งคือ
# mkdir temp
# for i in *jpg; do convert $i -interlace line temp/$i ; done

จะได้ไฟล์ jpg ชุดใหม่เข้าไปอยู่ในไดเรกทอรี่ temp
แปลงหลายรูป จาก tif ไปเป็น pdf
# convert -adjoin `ls *.tif` newfile.pdf
เอามาจาก jmetrix : Viewing multiple page tif on Linux
แปลง tif หลายไฟล์ไปเป็น tif ไฟล์เดียวหลายภาพ
 

จากที่เคยเขียน สคริปต์ไพธอน เพื่อแตกไฟล์ jpg ที่ซ่อนอยู้่ในไฟล์ใหญ่ของกล้อง canon 300d
คราวนี้พอมาถึงคิวกล้อง canon 5d มันไม่มีไฟล์เล็กซ่อนอยู่เสียแล้ว
เลยต้องใช้แพคเก็จ imagemagick เพื่อนำมาลดขนาดไฟล์ ให้แสดงผลได้เร็ว ๆ

$ sudo apt-get install imagemagick
$ mkdir canon3
$ convert -resize 40% *.JPG canon3/

หมายเหตุ
ไฟล์ jpg ของกล้อง 5d คมกว่า 300d เยอะเลย

Subscribe to RSS - imagemagick
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.