i = imread('C:\\Documents and Settings\\1\\桌面\\12.jpg')
i = rgb2gray(i);
>> figure(i)
>> figure(2)
>> subplot(2,2,1)
>> imshow(i)
>> title('原始灰度图像')
>> j = ffshift(ff2(i));
>> j = fftshift(fft2(i));
>> jj = log(abs(j));
>> subplot(2,2,2);
>> imshow(jj,[ ]);
title('原图像幅度谱')
>> phase = (angle(j)*180/pi);
>> subplot(2,2,3)
>> imshow(phase)
>> title('原图像相位谱')
I = imread('C:\\Documents and Settings\\1\\桌面\\12.jpg');
>> I=rgb2gray(I); % 将图像转为灰度图像
figure(1), subplot(2,2,1);
imshow(I); %显示灰度图片
title('原始灰度图像');
J=fftshift(fft2(I)); %傅立叶变换,并移频
JJ=log(abs(J)); %取得幅度谱,其值较大,故取log
subplot(2,2,2);imshow(JJ,[ ]); %显示幅度谱,[ ]内参数可修改
title('原图像幅度谱');
[a,b]=size(J); %取出频谱尺度
h=zeros(a,b);
a0=round(a/2); %频谱的横向宽度,取整
b0=round(b/2); %频谱的纵向宽度,取整
d=30; %改变d 值,所的图像不同
for i=1:a
for j=1:b
distance=sqrt((i-a0)^2+(j-b0)^2);
if distance<=d
h(i,j)=1;
else
h(i,j)=0; %构造出大小和频谱一致的滤波器h
end
end
end
J1=h.*J; %滤波后频谱J1
J2= log(abs(J1));
subplot(2,2,3);imshow(J2,[ ])
title('低通滤波后幅度谱');
J3=ifft2(ifftshift(J1)); %逆傅立叶变换
J4=uint8(abs(J3)); %将滤波图像转换成uint8 格式
subplot(2,2,4); imshow(J4);
title('低通滤波后图像')
>>
I = imread('C:\\Documents and Settings\\1\\桌面\\12.jpg');
>> I=rgb2gray(I); % 将图像转为灰度图像
figure(1), subplot(2,2,1);
imshow(I); %显示灰度图片
title('原始灰度图像');
J=fftshift(fft2(I)); %傅立叶变换,并移频
JJ=log(abs(J)); %取得幅度谱,其值较大,故取log
subplot(2,2,2);imshow(JJ,[ ]); %显示幅度谱,[ ]内参数可修改
title('原图像幅度谱');
[a,b]=size(J); %取出频谱尺度
h=zeros(a,b);
a0=round(a/2); %频谱的横向宽度,取整
b0=round(b/2); %频谱的纵向宽度,取整
d=50; %改变d 值,所的图像不同
for i=1:a
for j=1:b
distance=sqrt((i-a0)^2+(j-b0)^2);
if distance>=d
h(i,j)=1;
else
h(i,j)=0; %构造出大小和频谱一致的滤波器h
end
end
end
J1=h.*J; %滤波后频谱J1
J2= log(abs(J1));
subplot(2,2,3);imshow(J2,[ ])
title('高通滤波后幅度谱');
J3=ifft2(ifftshift(J1)); %逆傅立叶变换
J4=uint8(abs(J3)); %将滤波图像转换成uint8 格式
subplot(2,2,4); imshow(J4);
title('高通滤波后图像')
>>
I = imread('C:\\Documents and Settings\\1\\桌面\\12.jpg');
I = rgb2gray(I);
I1=im2double(I); %转换成双精度类型
T=dctmtx(8); %产生DCT 变换核
B=blkproc(I1,[8 8],'P1*x*P2',T,T');
mask=[1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0]; %构造出二值掩膜,仅保留左上角的十个DCT 低频系数
B2=blkproc(B,[8 8],'P1.*x',mask); %将DCT 系数矩阵乘以二值掩膜
I2=blkproc(B2,[8 8],'P1*x*P2',T',T); %反DCT 操作,得出处理后图像
subplot(1,2,1),imshow(I1);
subplot(1,2,2),imshow(I2);
corr2(I1,I2); %求出原图像数据与处理后图像的相关性,越接近1 说明两者差别少
ans
I = imread('C:\\Documents and Settings\\1\\桌面\\12.jpg');
I = rgb2gray(I);
I1=im2double(I); %转换成双精度类型
T=dctmtx(8); %产生DCT 变换核
B=blkproc(I1,[8 8],'P1*x*P2',T,T');
mask=[0 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0]; %构造出二值掩膜,仅保留左上角的十个DCT 低频系数
B2=blkproc(B,[8 8],'P1.*x',mask); %将DCT 系数矩阵乘以二值掩膜
I2=blkproc(B2,[8 8],'P1*x*P2',T',T); %反DCT 操作,得出处理后图像
subplot(1,2,1),imshow(I1);
subplot(1,2,2),imshow(I2);
corr2(I1,I2); %求出原图像数据与处理后图像的相关性,越接近1 说明两者差别少
ans
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务