Page 197 -
P. 197
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
188
การสรางตัวกรองความถี่สูงผานดวยคําสั่ง MATLAB สามารถทําไดในลักษณะเดียว
กันกับการสรางตัวกรองความถี่ต่ําผาน นอกจากนั้นเรายังสามารถสรางตัวกรองความ
ถี่สูงผานโดยใชสมการที่ 6.30 ไดอีก ดวยการเขียนฟงกชันในการสรางตัวกรอง
ความถี่ต่ําผานกอน แลวจึงเรียกใชฟงกชันดังกลาวในการสรางตัวกรองความถี่สูงผาน
ตามตัวอยางการสรางตัวกรองความถี่สูงผานแบบเกาสเซียนดังตอไปนี้
function mask = lpf_gauss(im, d0) % ฟงกชันสราง Gaussian low-pass filter
% Generating a Gaussian low-pass filter having the same size as im with
% standard deviation d0
% Usage: x = imread(‘exampleIm.jpg’);
% lpf = lpf_gaussian(x, 2);
rows = size(x,1); % กําหนดใหตัวกรองมีขนาดเทากับขนาดของภาพอินพุต
cols = size(x,2);
[x,y] = meshgrid(-floor(cols/2): floor((cols-1)/2), -floor(rows/2):
floor((rows-1)/2));
distance = sqrt(x.^2+y.^2);
mask = exp( -(distance.^2)./ (2*(do.^2)));
function h_mask = hpf_gauss(im, d0) % ฟงกชันสราง Gaussian high-pass filter
% Generating a Gaussian high-pass filter having the same size as im with
% standard deviation d0
% Usage: x = imread(‘exampleIm.jpg’);
% hpf = hpf_gaussian(x, 2);
h_mask = 1-lpf_gauss(im,d0); % เรียกใชฟงกชันสรางความถี่ต่ําผาน
>> x = imread(‘lpf_test.jpg’);
% สรางตัวกรองความถี่สูงผานโดยการเรียกใชฟงกชันที่ hpf_gauss(.)