Octave函数将BMP图像转换为[-1,1]上的灰度矩阵

时间:2014-04-23 08:00:19

标签: image matlab octave

对于大学任务,我们获得了MATLAB / Octave工具箱。这包括以下函数,理论上应该读取BMP文件并将其转换为矩阵,所有值都在[-1,1]中,其中-1表示白色,1表示黑色。

function In=loadCNN(filename)
  Img=double(imread(filename));
  if size(Img,3)==3
    Img=(Img(:,:,1)+Img(:,:,2)+Img(:,:,3))/3;
  end     
  In=((double(Img)/127.5)-1)*-1;
end

然而它无法正常工作,为this image: binary image上的白色像素返回一个矩阵,例如0.99216

请帮我写一个功能来做这件事。它也适用于有色BMP,它应首先转换为灰度。

1 个答案:

答案 0 :(得分:0)

我认为这应适用于所有bmp图像...

function In=loadCNN(filename)
    Img=double(imread(filename));
    if size(Img,3)==3
        Img=mean(Img,3)/255;
    end
    In=2*Img-1
end