f=imread('cameramantif'); % 读图
f=im2double(f); % 转化为double型数据
[r c]=size(f);%设置矩阵的行列数,图的大小
h=fspecial('gaussian',[r c],05); % 模糊核
g=imfilter(f,h,'circular'); % 图像模糊
a=01;
b=0000000000001;
n=a+brandn(r,c); % 噪声,均值为01,方差为b^2
g=g+n; % 模糊图像加噪声
F=fft2(f); % 清晰图像频谱
G=fft2(g); % 加噪图像频谱
H=psf2otf(h); % PSF->OTF
N=fft2(n); % 噪声频谱
H2=conj(H)H;
N2=conj(N)N;
F2=conj(F)F;
NF=N2/F2; % 噪信比
huv=H2/(H2+NF);
tuv=(1/(H+eps))huv; % 频域滤波器
RA=tuvG;
ra=real(ifft2(RA)); % 降噪图像
MN=sum(sum(N2));
MF=sum(sum(F2));
sr=MN/MF;
huv=H2/(H2+sr);
tuv=(1/(H+eps))huv; % 另一个频域滤波器
RC=tuvG;rc=real(ifft2(RC)); % 另一幅降噪图像
figure,imshow(f);title('原始图像');
是这样的,如果你再程序开始添加holdon这个的画,表示这之后的每一次作图都保留以前的图,这样就可以连续画图了
反之holdoff,表示打开这个之后,每次画图,删除以前的图,
close all
clear all
im=imread('D:\image1jpg');%读图im;
%获取im的行、列数:row,col;
[row,col]=size(im);
%计算直方图
for i=0:255
%计算im上i出现的次数ni;
ni=length(find(im==i));
p(i+1)=ni/(rowcol);
end
%进行变换处理
for s1=1:row
for s2=1:col
%读取原图像对应位置的灰度值i;
i=im(s1,s2);
%imnew(s1,s2)=c(i+1);进行变换
s=0;
for j=1:i;
s=s+p(j);
end
imnew(s1,s2)=s;
end
end
im1=uint8(imnew255);
%计算imnew的直方图
[row1,col1]=size(im1);
for i=0:255
%计算im1上i出现的次数mi;
mi=length(find(im1==i));
p1(i+1)=mi/(row1col1);
end
%绘图显示im、imnew图像
figure(1),
imshow(im);
title('原图像');
figure(2),
imshow(im1);
title('均衡化后的图像');
%绘图显示im、imnew的直方图
figure(3),
bar(0:255,p);
title('原图像直方图');
xlabel('灰度值');
ylabel('灰度值对应概率');
figure(4),
bar(0:255,p1);
title('均衡化后的直方图');
xlabel('灰度值');
ylabel('灰度值对应概率');
比如你想读取所有jpg格式的文件
filename=dir('jpg');
然后
filename(i)name
就是第i张的名称了,你就可以读取了
比如
A=imread(filename(1)name);
你可以指定某文件夹下进行搜索,默认是current dictionary
scilab图像和视频处理工具箱SIVP
About SIVP
------------
SIVP stands for Scilab Image and Video Processing toolbox SIVP intends to do image processing and video processing tasks SIVP is meant to be a useful, efficient, and free image and video processing toolbox for Scilab
SIVP homepage: >
以上就是关于求大神帮忙给这段matlab程序加上注释,跪谢,急求!全部的内容,包括:求大神帮忙给这段matlab程序加上注释,跪谢,急求!、matlab程序画图、MATLAB....等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)