Page 65 -
P. 65

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







                 56

                          นอกจากฟงกชันขางตนแลว MATLAB  ยังไดจัดเตรียมฟงกชันตาง  ๆ  สําหรับการ

                          แปลงภาพชนิดตาง  ๆ  ไวใหดวย  ฟงกชันที่เรียกใชบอยแสดงไวในตารางที่ 2.2
                          ตัวอยางเชน ฟงกชัน rgb2gray(.) เปนฟงกชันสําหรับแปลงภาพสี RGB เปนภาพเทา

                          และฟงกชัน  gray2rgb(.)  สําหรับแปลงภาพเทากลับไปเปนภาพสี  คําสั่งแปลงกลับ

                          เปนภาพสีนี้ไมไดทําใหภาพเทากลายเปนภาพสีจริง  ๆ  ภาพที่ไดยังคงมีสีในเฉดสีเทา

                          เหมือนเดิม เพียงแตคําสั่งจะทําการเก็บภาพใหใหมเปนแบบภาพสีจริง คือ เก็บไวใน
                          อารเรยสามมิติ โดยจัดเก็บเปนภาพสี RGB ประกอบไปดวยเพลนขอมูลภาพสีแดง สี

                          เขียว และสีน้ําเงิน คาความเขมแสงของแตละพิกเซลในทั้ง 3 เพลนจะมีคาเทากัน โดย

                          มีคาเทากับคาของความเขมของจุดพิกเซลในภาพเทานั้นเอง


                                              ตาราง 2.2 คําสั่งแปลงภาพใน MATLAB


                            ฟงกชัน              การใชงาน                    รูปแบบ

                            gray 2 ind              Indexedเปน ขาวดํา         y=ind2gray(x,map);

                            ind 2 gray            ขาวดําเปน Indexed           [y,map]=gray2ind(x);
                            gray 2 rgb              RGBเปนขาวดํา              y=rgb2gray(x);

                            rgb 2 gray            ขาวดําเปน RGB               y=gray2rgb(x);

                            ind 2 rgb               RGBเปน Indexed            [y,map]=rgb2ind(x);
                             rgb 2 ind              Indexedเปน RGB             y=ind2rgb(x,map);



                          ภาพที่มีการจัดเก็บขอมูลพิเศษแตกตางจากภาพชนิดอื่น  ๆ  คือ  ภาพไบนารี (binary
                          image)  MATLAB  เก็บขอมูลภาพไบนารีเปนขอมูลชนิด logical   ขอมูลชนิดนี้

                          ประกอบไปดวยคา 2  คา  คือ 1 (True)  และ 0 (False)   แตภาพที่อานดวยคําสั่ง

                          imread(.) นั้นจะเก็บขอมูลเปนชนิด uint8 ถึงแมภาพที่อานไดจะมีแตเฉพาะคา 0 และ

                          1 ก็ตาม ในกรณีนี้  MATLAB จะไมถือวาภาพที่อานไดเปนภาพไบนารี การเปลี่ยน
                          ภาพ unit8 เปนภาพไบนารีทําไดดวยคําสั่งที่มีการเปรียบเทียบ เชน >, <, >=, <=  เปน

                          ตน ผลลัพธที่ไดจากการเปรียบเทียบจะมีคาเปนจริง (1) หรือเปนเท็จ (0) เทานั้น ทํา
   60   61   62   63   64   65   66   67   68   69   70