版主快来看呀~~matlab定义函数有问题
我按照书上的内容输入下列定义函数内容,为什么执行出来后的输出三张图片,请各位帮忙:handshakefunction Z=imadjust_sec(X,a,b,c,d)
=size(X);
X1=im2double(X);
for i=1:Height
for j=1:Width
if (X1(i,j)<a)
Z(i,j)=c/a*X1(i,j);
end
if (X1(i,j)>=a&&X1(i,j)<=b)
Z(i,j)=(d-c)/(b-a)*(X1(i,j)-a)+c;
end
if (X1(i,j)>=b)
Z(i,j)=(1-d)/(1-b)*(X1(i,j)-b)+d;
end
end
end
真心没有办法哦
就是定义了一个这样的函数,然后执行下列命令:
X=imread('2.jpg');
Z=imadjust_sec(X,0.4,0.5,0.1,0.6);
imshow(X),figure
imshow(Z)
输出三张图片
不知道这次说清楚了没有
你是想说imshow(z)为什么输出是三张图吗?
其实那三张其实是一张。
因为imread函数的输出是(m,n,3)的数组,你用size函数时输出就是(m,n*3)了
如果我没有说错的话imread函数从每一个点上读出了R,G,B三个数。你所谓的三张图分别就是这三个变量单独构成的
页:
[1]