Q4:matlab 如何将彩图转成灰度图
>> I=imread(D:\Lena.jpg);
>> x=rgb2gray(I);
>> figure(1);
>>subplot(121);
>> imshow(I);
>> title(原始图像);
>> subplot(122);
>> imshow(x);
>> title(灰度图像);

彩色图像是RGB,直接用rgb2gray
MATLAB 并没有自带gray2rgb
灰度图像 是个 N x M 矩阵。 N 和 M 为坐标,存储的数值是灰度深浅强度。RGB 为 N x M x 3 的矩阵。N 和 M 为坐标,附带的 3 是 [红,绿,蓝] 三色,数值各取 0-1.0 之间。转换上,如果灰度图像为 1024 x 768 大小,则要建立一个 1024 x 768 x 3 的矩阵。再在每一像素上添上颜色。例如,rgb_image(2, 4, :)= [0 1 1] %(坐标(2,4)=浅蓝色)
为了进行并行处理。我将512*512 的矩阵分成了64*64 的独立小块,并存至对应的文件中。
for i=1:64:449
for j=1:64:449
y=x(i:i+63,j:j+63);
h=y;
a=(i-1)/64+1;
b=(j-1)/64+1;
sload=[fid=fopen(x num2str(a) num2str(b) .txt,wt+)];
eval_r(sload);
fprintf(fid, M\t, h);
fclose(fid);
end
end