Page 101 -
P. 101

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







                 92

                          ที่ไดจากการคํานวณอาจใหคาอยูนอกชวงขอมูลของภาพได  เชน  มีคาติดลบหรือเกิน

                          255  การประมวลผลในลักษณะนี้จึงตองตั้งขอกําหนดใหปรับคาเอาทพุตที่อยูนอก
                          ชวงใหมีคาอยูในชวงที่เหมาะสม เชน กําหนดใหคาที่มากกวา 255 มีคาเปน 255 และ

                          คาที่นอยกวา 0  ใหมีคาเปน 0  เปนตน  เพื่อใหสามารถเขาใจผลกระทบของการ

                          คํานวณตอความสวางของภาพ  เรานิยมพล็อตกราฟความสัมพันธของคาความสวาง

                          อินพุตและคาเอาทพุตที่ไดจากการคํานวณ  ตัวอยางกราฟการคํานวณภาพกับคาคงที่
                          แบบตาง ๆ แสดงในรูปที่ 3.15


                                 g(u)                   g(u)                  g(u)



                                             u                      u                    u
                                      g(u) = u+128                      g(u) = u-128                        g(u) = 2u


                                            g(u)                     g(u)




                                                       u                        u
                                              g(u) = u/2                         g(u) = u/2+128


                                                 รูปที่ 3.15 การคํานวณแบบตาง ๆ


                          การเรียกใชโอเปอเรเตอรพื้นฐานใน MATLAB  นั้นสามารถเรียกไดโดยตรง  โดย

                          โอเปอเรเตอรพื้นฐานเหลานี้จะคํานวณกับขอมูลชนิด double  เทานั้น  จึงตองเปลี่ยน

                          คาความสวางของภาพจากขอมูลชนิด uint8  ใหเปนชนิด double  กอนดังแสดง

                          ตัวอยางชุดคําสั่งดานลาง  ซึ่งเปนคําสั่งลบและบวกความสวางของภาพตนฉบับดวย
                          คา 128


                             >> im = imread(‘stone.tif’);

                             >> imSub = uint8(double(im)-128), imshow(imSub);

                             >> im Add = uint8(double(im)+128), imshow(imAdd);
   96   97   98   99   100   101   102   103   104   105   106