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) สําหรับการปรับความสวางของทุกพิกเซลภายในภาพก็ทําในลักษณะ