ต่อจากตอนก่อนนะครับ จาก 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 มาเรียงแล้วหาความถี่สะสมนะครับ ตามตัวอย่าง
Value คือค่าระดับสีเทานะครับ ส่วน Count คือ ความถี่
CDF คือ Cumulative Distribution Function ความถี่สะสม
จากตัวอย่างเป็นข้อมูลภาพจากดาวเทียมไทยโชต ค่า ระดับสีเทา คือ 2 ยกกำลัง 8 คือ 256 ระดับ (0-255)
ค่าที่มากที่สุดคือ 109 ค่าที่น้อยที่สุดคือ 3
เราจะต้องแปลง ช่วงค่าระดับสีเทา ตั้งแต่ 3-109 ไปเป็นช่วงค่า 0-255 จากสูตรนี้
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
ผลลัพธ์จากการคำนวน ดังตารางนะครับ
จะเห็นได้ว่าค่าระดับสีเทา ตอนภาพเดิม มีค่าระดับ ตั้งแต่ 3-109 แต่เมื่อผ่านการทำ Histogram Equalization แล้วค่าระดับสีเทาใหม่ที่ได้คือ 0-255 นะครับ
ที่มา : https://geo2ass.wordpress.com