Page 117 -
P. 117
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
108
ในรูปที่ 4.5) กับสัญญาณใดๆ จะใหผลเปนสัญญาณนั้นๆ นอกจากการใชงานหลักๆ
ที่กลาวขางตันแลว คอรีเลชันและคอนโวลูชันยังถูกนําไปใชงานอยางหลากหลาย จึง
เปนโอเปอเรชันพื้นฐานที่ผูอานตองทําความเขาใจอยางดี โดยการใชงานจะขึ้นอยูกับ
การเลือกสัมประสิทธิ์ของมาสค เชน การใชคอรีเลชันสําหรับหาคาอนุพันธ
(derivative) ของสัญญาณ มาสคที่ใชอาจเปน {0 1 -1} หรือ {-1 0 1} เปนตน ขอดีของ
มาสคตัวหลังคือโอเปอเรชันจะถวงน้ําหนักพิกเซลรอบขางเทากัน ในกรณีที่มาสคที่
ใชมีลักษณะสมมาตรการทําคอโวลูชันกับการทําคอรีเลชันจะใหผลลัพธเหมือนกัน
คําสั่ง MATLAB ที่ใชในการทําคอรีเลชันและคอนโวลูชันคือคําสั่ง imfilter(.) โดย
เราสามารถกําหนดชนิดการขยายขอบเขตและขนาดของเอาทพุตที่เราตองการตาม
ตัวเลือกที่กําหนดไวในตารางที่ 4.1 และการเรียกใชคําสั่งเปนดังนี้
imfilter(f,m, 'ชนิดโอเปอเรเตอร', 'การขยายขอบสัญญาณ', ‘ขนาดเอาทพุต’)
คําสั่ง MATLAB ตอไปนี้เปนคําสั่งสําหรับการทําคอรีเรชันและคอนโวลูชันสัญญาณ
ในรูปที่ 4.6
>> m = [ 0 0 0; 1 2 3; 0 0 1]; % mask
>> f = [ 0 0 1 0 0; 0 1 2 3 0; 0 0 1 1 0]; % signal
>> imfilter(f,m, 'full’) % คอรีเลชันแบบใหผลลัพธขนาดเทากับภาพ
% ตนฉบับที่ขยายขอบภาพ
>> imfilter(f,m, 'same’) %คอรีเลชันแบบใหผลลัพธขนาดเทาภาพตนฉบับ
>> imfilter(f,m, ‘conv’ 'full’) %คอนโวลูชันแบบใหผลลัพธขนาด
%เทากับภาพตนฉบับที่ขยายขอบภาพ
>> imfilter(f,m, 'same’) %คอนโวลูชันแบบใหผลลัพธขนาดเทา
%ภาพตนฉบับ