Page 90 -
P. 90

โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี







                                                                                                        81

                                   3.2.1  การปรับคาความเปรียบตาง (Contrast Stretching)



                                   Contrast stretching หรือ histogram stretching ทําการแปลงคาความเขมแสงของภาพ
                                   อินพุต  โดยใชสมการการแปลงเปนฟงกชันคลายกับฟงกชันในรูปที่ 3.5(ก)  โดยจะ

                                   แบงคาความสวางอินพุตออกเปนสามชวงคือชวง [0, a],  [a, b] และ [b, 1]  คาความ

                                   สวางอินพุตที่มีคานอยกวา a จะถูกปรับเปนคาคงที่คา c และคาความสวางอินพุตที่มี
                                   คามากกวา b จะถูกปรับเปนคาคงที่คา d สวนคาความสวางระหวางคา a และคา b จะ

                                   เปลี่ยนไปดวยสมการเชิงเสน การปรับเปลี่ยนสามารถเขียนในรูปสมการไดดังนี้



                                                  ⎧      c                   if u ≤  a
                                                  ⎪      (d −  ) c
                                                  ⎪
                                           g (u ) =  ⎨ (u −  ) a                      if a ≤ u ≤ b    (3.1)
                                                  ⎪       (b −  ) a          if u ≥
                                                  ⎪      d                     b
                                                  ⎩


                                   โดย u คือคาความสวางของจุดพิกเซล

                                          g(u) คือคาความสวางเอาทพุต


                                   การทํา contrast stretching ใน MATLAB ทําไดโดยการเรียกใชฟงกชันตอไปนี้


                                                   imadjust(image_variable name, [a,b], [o,p]);


                                   คําสั่งนี้จะปรับคาความสวางต่ําสุดและคาความสวางสูงสุดของภาพอินพุต [a,b]  ให

                                   เปนคาความความสวางต่ําสุดและคาความสวางสูงสุดของภาพเอาทพุต [o,p] โดยคาที่

                                   ต่ํากวาคา  a  หรือสูงกวาคา  b  จะถูกปรับใหเปนคาคงที่  และคําสั่งกําหนดให
                                   คาพารามิเตอรทั้งสี่ตัวมีคาความสวางอยูระหวาง 0  ถึง 1  รูปที่ 3.6  แสดงภาพและ

                                   ฮีสโตแกรมของภาพหลังการทํา contrast stretching โดยกําหนดใหความเขมแสงของ

                                   ภาพอินพุตในชวง [0, 0.4] ถูกขยายออกไปครอบคลุมความสวางในชวง [0,0.9] คําสั่ง

                                   ที่ใชในการประมวลผลภาพเปนดังนี้

                                      >> imadjust(im, [0,0.4], [0, 0.9]);
   85   86   87   88   89   90   91   92   93   94   95