Page 137 -
P. 137
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
128
ฟงกชันที่ใชในคําสั่ง nlfilter(.) สามารถเขียนแยกตางหากได เชน การทํา max filter
สามารถเขียนคําสั่งไดดังนี้
>>A = imread(‘roadPole.jpg’);
>>func = @(x) max(x(:));
=
>>val_max nlfilter(A,[3 3],func);
รูปที่ 4.16 ผลลัพธที่ไดจากการกรองภาพตนฉบับรูปที่ 4.7 ดวย max filter (ซาย)
และ min filter (ขวา)
คําสั่ง nlfilter(.) จะทํางานในลักษณะสองมิติ ทําใหเวลาตองใชในการประมวลผล
คอนขางมาก คําสั่งสําหรับการกรองแบบไมเชิงเสนที่ทํางานไดเร็วกวามากคือคําสั่ง
colfilt(.) คําสั่งนี้จะจัดเรียงภาพอินพุตใหอยูในรูปของคอลัมนเมตริกกอนทําการ
ประมวลผล มีรูปแบบการใชงานคําสั่งดังนี้
B = colfilt(A, [m n] , ’sliding’, @func)
โดยคําสั่งจะทําการเลื่อนมาสคขนาด m×n บนเมตริกซภาพ A ที่ไดทําการจัดรูปแบบ
ใหเปนคอลัมนเมตริกซแลวทําการคํานวณตามที่ระบุในฟงกชัน @func พารามิเตอร
‘sliding’ เปนคําที่ระบุใหคําสั่ง colfilt(.) ทําการประมวลผลแบบเพื่อนบานขนาด