帮我看看这段MATLAB程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 13:08:59
%首先读取图片,显示其灰度直方图:
I=imread('Z:\I1.jpg');%读取退化图像 PS=imread('Z:\I7.jpg');
figure,imshow(I); %显示退化图像
figure,imhist(I); %显示图像的灰度值直方图

%然后进行灰度级线性分段增强:
f0=0;g0=0;
f1=20;g1=100;
f2=100;g2=180;
f3=255;g3=255;
r1=(g1-gO)/(f1-f0));
b1=gO-r1*f0;
r2=(g2-g1)/(f2-f1);
b2=g1-r2*f1;
r3=(g3-g2)/(f3-f2);
b3=g2-r3*f2;
[m,n]=size(I);
X2=double(I); %变换矩阵中的每一个元素
fori=1:m
forj=1:n
f=X2(i,j);
g(i,j)=O;
if(f>=0)&(f<=f1)
g(i,j)=r1*f+b1
elseif(f>=f1)&(f<=f2)
g(i,j)=r2*f+b2;
elseif(f>=f2)&(f<=f3)
g(i,j)=r3*f+b3;
end
end
end
J=mat2gray(g);
figure,imshow(J);

%进行对比度调整:
K=imadjust(K,[O.45 0.8],[],O.6);%对比度调整
figure,imshow(K);

%高帽低帽增强图像:
se=strel('disk

jpeg文件读进来是三维矩阵,第三维是RGB值
你把它转换成2维矩阵就可以了
另外有些语法错误,比如只需要1个end

需要将彩色图编程灰度图
IY = rgb2ycbcr(I);

J=IY(:,:,1);
之后对J做处理