读入灰度图像序列程序实现
cl;
raw=zeros(200,256,30);
for i=1:30
filename=strcat('F:\算法实验\data\seq3\',int2str(i),'.bmp');
raw(:,:,i)=imread(filename);
end
方法二:
cl;
img=cell(1,30);
for i=1:30
filename=strcat('F:\算法实验\data\seq3\',int2str(i),'.bmp');
img{i}=imread(filename);
end
求图像最大灰度、最小灰度、平均灰度三个数值
cl;
img=imread('15.bmp');
%imshow(img);
[m n]=size(img);
max=0;
min=256;
avg=0;
for i=1:1:m
for j=1:1:n
if img(i,j)<min
min=img(i,j);
end
if img(i,j)>max
max=img(i,j);
end
avg=avg+double(img(i,j));
end
end
%avg=mean(mean(img));
avg=uint8(avg/(m*n));
max
min
avg
图像傅里叶变换
cl;
img=imread('15.bmp');
%img=double(img);
f=fft2(img); %傅里叶变换
f=fftshift(f); %使图像对称
r=real(f); %图像频域实部
i=imag(f); %图像频域虚部
margin=log(abs(f)); %图像幅度谱,加log便于显示
phase=log(angle(f)*180/pi); %图像相位谱
l=log(f);
subplot(2,2,1),imshow(img),title('源图像');
%subplot(2,2,2),imshow(l,[]),title('图像频谱');
subplot(2,2,3),imshow(margin,[]),title('图像幅度谱');
subplot(2,2,4),imshow(phase,[]),title('图像相位谱');