Page 138 -
P. 138
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
129
m×n เชนเมื่อตองการทํา max filter กับภาพ A ดวยมาสคชนาด 3 × 3 และทํา median
filer กับภาพ A ดวยมาสคขนาด 5 × 5 จะสามารถเขียนคําสั่งไดดังนี้
>>A = imread(‘kids.jpg’);
>>val_max = colfilt(A, [3,3], ‘sliding’, @max )’;
>>val_mean = colfilt(A, [5,5], ‘sliding’, @median);
4.8.1 คําสั่ง Nonlinear spatial filters ใน image processing toolbox
ใน IMage Processing Matlab toolbox (IMP toolbox) จะมีคําสั่งสองคําสั่งที่นิยม
เรียกใชเพื่อทําการกรองแบบไมเชิงเสน ไดแก คําสั่ง medfilt2(.) และ ordfilt2(.) คําสั่ง
medfilt2(.) เปนการกรองแบบมัธยฐาน (median filter) ที่นิยมใชในการกําจัด
สัญญาณรบกวนแบบ salt and pepper ตัวกรอง median filter จะแทนที่คาความสวาง
พิกเซลดวยคามัธยฐานของคาความสวางที่อยูภายใตมาสค คือเมื่อนําคาใตมาสคมา
เรียงกัน คาพิกเซลตรงกลางมาสคจะถูกแทนที่ดวยคาที่อยูตรงกลางของคาที่เรียงไว
คําสั่งที่ใชทําการกรองแบบมัธยฐานกับภาพ A ดวยมาสคขนาด m × n คือ
B = medfilt2(A,[m n])
>>A = imread(‘Rongkun.jpg’);
>>A= imnoise(im,'salt & pepper',0.05);
>>output = medfilt2(A, [3,3]);
รูปที่ 4.17 แสดงผลการทําตัวกรองแบบมัธยฐาน โดยอานภาพมาเก็บไวในเมตริกซ A
แลวทําการเติมสัญญาณรบกวนแบบ salt & pepper ลงในภาพดวยคําสั่ง imnoise(.)
ทําใหไดภาพผลลัพธดังแสดงในรูปที่ 4.17ก หลังผานตัวกรองมัธยฐานขนาด 3×3
ผลลัพธภาพที่ไดหลังการกรองแสดงในรูปที่ 4.17ข ซึ่งจะเห็นไดวาตัวกรองมัธยฐาน