数字图像处理期末结课作业MATLAB求一份代码。 数字图像处理matlab
求matlab代码实现图像处理
太轻松了
load bwimage colorimage
for i =1:3
colorimage(:,:,i) = colorimage(:,:,i).*bwimage;
end
figure;imshow(colorimage);
数字图像处理求解 MATLAB代码
Image=imread('原图像');
subplot(2,2,1)
imshow(Image);
title('原图');
Spectrum=fft2(Image);
subplot(2,2,2)
imshow(Spectrum);
title('FFT 变换结果');
subplot(2,2,3)
Spectrum=fftshift(Spectrum);
imshow(Spectrum);
title('零点平移');
subplot(2,2,4)
imshow(log(abs(Spectrum)),[]);
title('系数分布图');
%低通滤波
figure; %建立一张空白图纸
subplot(2,2,1)
imshow(log(abs(Spectrum)),[]);
title('系数分布图');
Filter=zeros(180,240); %滤波数组赋初值,全零;自己根据图像的分辨率来确定,如180*240
r=50; %滤波窗口半径,从中心到半径窗口内滤波数组赋值1
for i=(180/2-r+1):(180/2+r);
for j=(240/2-r+1):(240/2+r);
Filter(i,j)=1;
end;
end;
subplot(2,2,2)
imshow(Filter,[]);
title('滤波窗口');
SpectrumN=Filter.*Spectrum; %频谱与滤波模板卷积
subplot(2,2,3)
imshow(log(abs(SpectrumN)),[]);
title('滤波后频谱');
SpectrumN=ifftshift(SpectrumN);
I2=ifft2(SpectrumN);
subplot(2,2,4)
imshow(abs(I2),[]);
title('反变换图像');
这是我们以前做实验时用的程序,用的傅里叶变换,你稍微改动下应该就行了~
用MATLAB编程进行数字图像处理
img = imread('aa.jpg');
img1 = img(:,:,1);
img = double(img1);
a = 1;
b= .05;
for i = 1:size(img,1);
for j = 1:size(img,2)
g(i,j)=a+log(img(i,j)+1)./(b.*log(2));
end
end
figure,subplot(211),imshow(img1),title('原图')
subplot(212),imshow(uint8(g)),title('变换后的图像')
用matlab做数字图像处理
图像的左右、上下翻转,其本质是矩阵的左右、上下翻转,参照fliplr和flipup命令的使用 图像的叠加,就是矩阵的加法(两图像的像素矩阵大小一致,否则要进行相应的拉伸压缩变换)