数学建模社区-数学中国

标题: 版主快来看呀~~matlab定义函数有问题 [打印本页]

作者: 梦里花111    时间: 2013-9-25 21:19
标题: 版主快来看呀~~matlab定义函数有问题
我按照书上的内容输入下列定义函数内容,为什么执行出来后的输出三张图片,请各位帮忙
function Z=imadjust_sec(X,a,b,c,d)
[Height,Width]=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

真心没有办法哦

作者: 梦里花111    时间: 2013-9-25 21:21
就是定义了一个这样的函数,然后执行下列命令:
X=imread('2.jpg');
Z=imadjust_sec(X,0.4,0.5,0.1,0.6);
imshow(X),figure
imshow(Z)
输出三张图片
不知道这次说清楚了没有

作者: zhengguobin2013    时间: 2013-9-26 14:13
你是想说imshow(z)为什么输出是三张图吗?
其实那三张其实是一张。
因为imread函数的输出是(m,n,3)的数组,你用size函数时输出就是(m,n*3)了
如果我没有说错的话imread函数从每一个点上读出了R,G,B三个数。你所谓的三张图分别就是这三个变量单独构成的




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5