เจาะลึก Histogram Equalization

ต่อจากตอนก่อนนะครับ จาก linear contrast stretch ที่เป็น function การเน้นรายละเอียดจุดภาพแบบ linear

ตอนนี้ก็จะคุยถึง  Histogram Equalization ไม่เกริ่่น ไม่มีภาพ ตัวอย่าง นะครับ ว่าด้วยเรื่องสูตรอย่างเดียวเลย

ถ้าใครอยากอ่านตั้งแต่ต้น ลองย้อนกลับไปดู หัวข้อเรื่อง เจาะลึก linear Contrast stretch นะครับ

็Histogram Equalization วิธีการนี้มีสมมติฐานที่ว่า ควรมีการกำหนดจำนวนจุดภาพให้มีความถี่เท่ากันในแต่ละระดับค่าสีเทา

ซึ่งหาได้จาก  จำนวนจุดภาพที่เหมาะสม = จำนวนจุดภาพทั้งหมด / จำนวนค่าระดับสีเทา

เช่น มีข้อมูลภาพจากดาวเทียม ขนาด 100*100 pixel, line เป็นข้อมูลแบบ 8 bit

ดังนั้นจำนวนจุดภาพที่เหมาะสมคือ 10,000 / 256 =39.0625

ก็คือแต่ละค่าระดับสีเทาควรมีจำนวนความถี่เท่ากับ 39.0625 pixel

ในการเริ่มคำนวณนั้น เราก็ต้อง นำค่า grey scale มาเรียงแล้วหาความถี่สะสมนะครับ ตามตัวอย่าง

cdf

 

Value คือค่าระดับสีเทานะครับ ส่วน Count คือ ความถี่

CDF คือ Cumulative Distribution Function ความถี่สะสม

จากตัวอย่างเป็นข้อมูลภาพจากดาวเทียมไทยโชต ค่า ระดับสีเทา คือ 2 ยกกำลัง 8 คือ 256 ระดับ (0-255)

ค่าที่มากที่สุดคือ 109 ค่าที่น้อยที่สุดคือ 3

เราจะต้องแปลง ช่วงค่าระดับสีเทา ตั้งแต่ 3-109 ไปเป็นช่วงค่า 0-255 จากสูตรนี้

formula

 

h(v) คือระดับสีเทาใหม่ ,  round คือการปัดเศษ, cdf (v) คือค่าความถี่สะสม ณ ตำแหน่งค่าระดับสีเทาที่เราต้องการหา

cdf min คือค่าความถี่สะสมต่ำสุด, L คือ ค่าระดับสีเทา , M และ  N คือ จำนวน Row และ Column

สมมติเราต้องการหาค่าระดับสีเทาของภาพใหม่ของค่าระดับสีเทาภาพเดิม คือ 40 จะมี cdf ความถี่สะสมเท่ากับ 98 นะครับ

เอามาเข้าสูตร     h(40) =  round ((  98 – 1) / (20 *20 ) – 1) * (256-1))

= round (97 / 399)*255

= round 61.99

ค่าระดับสีเทาใหม่            = 62

ผลลัพธ์จากการคำนวน ดังตารางนะครับ

valuenew

 

จะเห็นได้ว่าค่าระดับสีเทา ตอนภาพเดิม มีค่าระดับ ตั้งแต่ 3-109 แต่เมื่อผ่านการทำ Histogram Equalization แล้วค่าระดับสีเทาใหม่ที่ได้คือ 0-255 นะครับ

ที่มา : https://geo2ass.wordpress.com

 

Leave a Reply

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