Page 95 -
P. 95

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







                 86

                          เนื่องจากคาความสวางของภาพมีคาอยูระหวาง 0 ถึง 255 คือ มีทั้งหมด 256 คา การ

                          ปรับคาความสวางดวยวิธีนี้จึงเปนการสรางตารางคนหาขนาด 256×1 ตารางดังกลาว

                          จะเก็บคาความสวางเอาทพุตตามฟงกชันที่กําหนดโดยผูใช   โดยตําแหนงแรกของ
                          ตารางจะเก็บคาความสวางเอาทพุตที่ไดจากการคํานวณเมื่อคาความสวางอินพุตมีคา

                          เทากับ 0 คาที่ไดจะเก็บไวในตารางที่สรางขึ้นมา ณ ตารางตําแหนงที่ 1 ทั้งนี้เนื่องจาก

                          ตัวชี้ของตารางใน MATLAB จะเริ่มตันที่ตําแหนงที่ 1 ดังนั้นตารางตําแหนงที่ 1 จะ

                          เก็บคาความสวางเอาทพุตเมื่อความสวางอินพุตมีคาเทากับ 0  ตารางตําแหนงที่ 2  จะ
                          เก็บคาความสวางเอาทพุตเมื่อคาความสวางอินพุตมีคาเปน 1  และเปนอยางนี้ไปเรื่อย

                          ๆ นั้นคือ ตารางตําแหนงที่ n จะเก็บคาความสวางเอาทพุตเมื่อคาความสวางอินพุตมี

                          คาเทากับ n-1  ภาพที่ 3.10  แสดงตัวอยางตารางคนหาสําหรับการปรับคาความสวาง
                          ของภาพเอาทพุตใหมีคาเทากับคาความสวางของภาพอินพุตหารดวยสาม    คําสั่ง

                          MATLAB ที่ใชในการสรางตารางคือ


                             >> cTable = uint8(floor([0:255]/3);


                       ดัชนี        1        2        3        4        5        6    …   250        251        252        253        254        255

                               0        0        1        1        1        3  …    83          83          84          84          84          85


                           รูปที่ 3.10 Lookup table สําหรับการปรับคาความสวางของภาพใหลดลงเปนสามเทา


                          ใน MATLAB ถาเรากําหนดใหตารางคนหาชื่อ cTable การหาคาความสวางเอาทพุต

                          เมื่อคาความสวางอินพุตเทากับ 3   ทําไดโดยการเปดตารางในตําแหนงที่ 3  คือ

                          cTable(3+1)   ดังนั้น  ถาเราตองการทราบวาคาความสวางของพิกเซลที่ตําแหนง
                          (10,10)  จะถูกปรับคาไปเปนเทาไร  เราเพียงแตสงคาความสวางของพิกเซลนี้ใหกับ

                          ตารางบวกแลวบวกดวยหนึ่ง  ดังนั้นคาความสวางใหมที่ไดจะมีคาเทากับ  cTable(

                          im(10,10)+1)  สําหรับการปรับความสวางของทุกพิกเซลภายในภาพก็ทําในลักษณะ
   90   91   92   93   94   95   96   97   98   99   100