对于大学任务,我们获得了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: 上的白色像素返回一个矩阵,例如0.99216
请帮我写一个功能来做这件事。它也适用于有色BMP,它应首先转换为灰度。
答案 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