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