Page 182 -
P. 182

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







                                                                                                       173

                                   ในทางปฏิบัติโดยทั่วไปถาขนาดของตัวกรองมีขนาดเล็กมาก  ๆ  เมื่อเทียบกับขนาด

                                   ภาพ คือ M>>P และ N>>Q ภาพที่ไดจากการแปลงผกผันมีขนาดแตกตางจากภาพ
                                   ตนฉบับเพียงเล็กนอย  และเนื่องจากเรามักจะสนใจเฉพาะขอมูลที่ไดตามขนาดของ

                                   ภาพตนฉบับเทานั้น  จึงนิยมที่จะตัดภาพที่ไดหลังการแปลงผกผันใหมีขนาดเทากับ

                                   ภาพตนฉบับ คือใหมีขนาด M×N


                                   เนื่องจากการทําคอรีเลชันมีความสัมพันธใกลชิดกับคอนโวลูชันดังที่กลาวไวในหัว

                                   ขอที่ 5.1.2  เทคนิคการหาวัตถุภายในภาพดวยการทําคอรีเลชันภาพวัตถุที่ตองการหา

                                   กับภาพตนฉบับนี้จะนิยมเรียกวา template matching และสามารถทําในโดเมนความถี่

                                   ตามขั้นตอนที่ 1-5 ที่ใหไวได โดยผลลัพธที่ไดจากการทํา template matching จะให
                                   คาสูงบริเวณตําแหนงภาพที่วัตถุปรากฏอยู  รูปที่ 6.10  แสดงภาพตัวอยางการหาทํา

                                   template matching เพื่อหาตัวอักษร H ที่ปรากฏอยูในภาพตนฉบับ


                                   การทําเริ่มตนดวยการขยายขนาดของภาพทั้งสองตามขั้นตอนที่ 1 และ 2 ดวยยคําสั่ง

                                   P = nextpow2(x)  คําสั่งนี้เปนคําสั่งที่ใชในการหาเลขยกกําลังที่ใกลที่สุดที่ทําให  2P

                                   ≥ abs(x)  และเพื่อให FFT  ทํางานไดเร็วขึ้น  ขนาดของภาพหลังการขยายจึงถูก
                                                                      P
                                   กําหนดใหเปนเลขยกกําลังของสองคือ  2   หลังการคํานวณหาขนาดภาพที่ตองขยาย
                                   แลว จึงทําการหาคา FFT ของภาพที่ขยาย คําสั่ง MATLAB ที่ใช แสดงดานลาง



                                      >> clear all
                                      >> im = imread('pcb.jpg');         %อานภาพตนฉบับ

                                      >> im = im(:,:,1);

                                      >> mask = imread('mask_t.jpg');    %อานภาพหนากาก
                                      >> mask = mask(:,:,1);

                                      %หาขนาดเลขยกกําลังสองที่ใกลที่สุด

                                      >> rows = 2^nextpow2(size(im,1)+size(mask,1)-1);

                                      >> cols = 2^nextpow2(size(im,2)+size(mask,2)-1);
   177   178   179   180   181   182   183   184   185   186   187