matlab中怎么把图像变成灰度图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

参考技术A bmp的图像是彩色的,也就是说有rgb三个波段,读出的图像数据是一个m*n*3的数组,如果想把它变成灰度图像的,只要分离出任意rgb中的一个分量即可,例如你的图像是1.bmp,
x=imread('1.bmp');imshow(x);
y=x(:,:,1);
imshow(y);就可以了,不知道你是想怎样把图像变成灰度的,如果三个分量都想要的话,做个计算也可以的,例如把rgb做个平均;y=1/3*x(:,:,1)+1/3*x(:,:,2)+1/3*x(:,:,3);imshow(y);

以上是关于matlab中怎么把图像变成灰度图的主要内容,如果未能解决你的问题,请参考以下文章

matlab灰度图像处理

matlab中如何将灰度图转化为二值黑白图像?敬请各位大侠指点!

matlab中将灰度图转化为二值图后,有如何转化为灰度图

matlab怎么读取一幅图像,并转换为灰度图像

matlab怎么读取一幅图像,并转换为灰度图像

matlab 灰度图像矩阵的大小问题(入门级)