วันนี้ขอนำเสนอการลดรายละเอียดข้อมูลภาพ (Reduce resolution) และการแปลงภาพสีให้เป็นภาพขาว-ดำ (Color to Grey) อย่างง่ายด้วย gdalwarp (ลดรายละเอียด) และ gdal_translate (เปลี่ยนจากภาพสีให้เป็นภาพขาว-ดำ)
ตัวอย่างนี้สมมุติว่าผมมีภาพสีความละเอียด 1 เมตร ต้องการแปลงให้เป็นภาพขาว-ดำ ที่มีความละเอียดจุดภาพ 10 เมตร (จะเห็นว่าการทำงานนี้ประกอบด้วย 2 ขั้นตอนนะครับคือ ลดรายละเอียดและแปลงระบบสี)
ผมขอเริ่มด้วยการลดรายละเอียดข้อมูลภาพก่อนด้วย gdalwarp ซึ่งใช้คำสั่งดังนี้
>>gdalwarp -tr 10 10 -r cubic sample.tif resize.tif
โดย option "-tr" หมายถึง การกำหนดขนาดของจุดภาพ (GSD) ของไฟล์ผลลัพธ์ที่ต้องการ
และ option "-r" หมายถึง วิธีการ resampling จากตัวอย่างผมเลือกใช้วิธี Cubic Convolution
หลังจากได้ภาพที่ลดรายละเอียดจุดภาพลงแล้วเราจะทำการแปลงภาพสีให้เป็นภาพขาว-ดำด้วยโปรแกรม gdal_translate ดังนี้ครับ
>>gdal_translate -b 1 resize.tif resize_grey.tif
โดย option "-b" หมายถึง ให้เลือกให้เลือกเอาเฉพาะช่วงคลื่น (Band) ที่ต้องการเท่านั้น (จากตัวอย่างคือเอาเฉพาะช่วงคลื่นที่ 1 เท่านั้น)
ผลลัพธ์ที่ได้จากตัวอย่างนี้คือภาพต้นฉบับ (ภาพสี 3 ช่วงคลื่นขนาดจุดภาพ 1 เมตร) จะถูกแปลงให้เป็นภาพขาว-ดำ (1 ช่วงคลื่น) ที่มีความละเอียดจุดภาพ 10 เมตร และหากท่านใดต้องการทำกระบวนการนี้กับข้อมูลภาพจำนวนมากก็สามารถใช้การทำงานแบบ Batch processing ได้ครับ (ลองหาตัวอย่างการใช้งาน Batch processing ใน Blog นี้ดูนะครับ)
Subscribe to:
Post Comments (Atom)
1. การสร้าง Shade relief สำหรับแบบจำลองระดับสูงเชิงเลข
ReplyDeleteการใช้งาน >>gdaldem hillshade dem.tif shaderelief.tif
ผมพิมพ์ตามคำสั่งข้างบนแล้วแต่มันไม่แสดงผลนะครับ ผมต้องใส่ความสูงด้วยไหม? ถ้าใส่แล้วใส่ช่วงไหน อาจารย์ช่วยอธิบายด้วยครับ ชีทที่อาจารย์แจกในการอบรมไม่ละเอียดนะครับ แล้วก็ตอนอาจารย์อธิบาย ผมพยายามจดคำสั่งทุกขั้นตอนแต่จดไม่ทันนะครับ ขอบคุณมากครับ
ผมยัง งง งง ว่าต้องการทำอะไรเหรอครับ ถ้าทำ Shade relief ก็ตรงไปตรงมานี่ครับ ผมลองทำดูอีกครั้งก็ได้นะครับ ยังไงช่วยเมล์มาถามผมโดยตรงที่ sawarin.l@msn.com ก็ได้ครับ จะได้ช่วยดูให้อีกที
ReplyDelete