matlab 将rgb转化为灰度图后怎么把灰度图变为3通道?

作者&投稿:芝斧 (若有异议请与网页底部的电邮联系)
在matlab下把一张RGB图分成了3个通道的三张图,现在怎么通过这3个通道的图恢复到RGB图?~

如果R、G、B通道对应图为1.jpg,2.jpg,3.jpg
image_R=imread('1.jpg');%生成的应该是一个二维矩阵
image_G=imread('2.jpg');%
image_B=imread('3.jpg');%
image_RGB(:,:,1)=image_R;
image_RGB(:,:,2)=image_G;
image_RGB(:,:,3)=image_B;
imwrite(image_RGB,'myimage.jpg','jpg');
imshow(image_RGB);

1、首先打开matlab读取一张图。

2、读完之后p的矩阵形式构成为:q(a1,a2,a3)a1:为行像素,a2:为列像素,a3为R/G/B通道。

3、通过lenght函数计算出p矩阵的行和列像素量。q1=length(q(:,1,1));q2=length(q(1,:,1))。


4、使用meshgrid函数生成网格矩阵,代码如下:x=q1:-1:1;y=1:q2;[X,Y]=meshgrid(x,y);

5、绘制三维坐标图,代码如下:plot3(X,Y,q(:,:,1),'k'),你可通过旋转查看该图像。

6、最后点击转换即可完成还原彩图。

灰度图没有三通道的,如果非要整一个:
>> I=imread('lena.bmp');
>> size(I) % 证明是灰度图
ans =
256 256

>> I3(:,:,1)=I;
>> I3(:,:,2)=I;
>> I3(:,:,3)=I;

>> imshow(I3); %显示
>> size(I3) %证明是三通道图片
ans =
256 256 3

灰度图没有三通道的,如果非要整一个:
>> I=imread('lena.bmp');
>> size(I) % 证明是灰度图
ans =
256 256

>> I3(:,:,1)=I;
>> I3(:,:,2)=I;
>> I3(:,:,3)=I;

>> imshow(I3); %显示
>> size(I3) %证明是三通道图片
ans =
256 256 3


辽阳县13433101317: 在matlab图像处理中,将rgb图像转化为灰度图的方法有哪些? -
采杭开同: a=rgb2gray(b)

辽阳县13433101317: RGB图转灰度图的matlab程序 -
采杭开同: I = imread('1.bmp'); %读取图像文件 '.bmp' ,文件应该保存在matlab的%工作路径下,否则应该使用绝对路径. J = rgb2gray(I); %讲图片转为灰度图并且保存到J当中.figure %打开新的作图窗口.imshow(I)%;显示转换前的彩色图.figure;%打开新的作图窗口.imshow(J);%显示转换后的灰度图J.

辽阳县13433101317: RGB模式照片转换为灰度模式的matlab批处理命令
采杭开同: path = 'E:\image\'; % just as an example cd(path); files = dir(path); mkdir('..','newimage'); cd('../newimage'); for i = 1:length(files) if files(i).isdir == false imagename = files(i).name; I = imread([path imagename]); J = rgb2gray(I); imwrite(J,imagename); ...

辽阳县13433101317: 如何利用matlab将rgb图转为灰度图 -
采杭开同: RGB2GRAY Convert RGB image or colormap to grayscale. RGB2GRAY converts RGB images to grayscale by eliminating the hue and saturation information while retaining the luminance. I = RGB2GRAY(RGB) converts the truecolor image RGB to the grayscale intensity image I.

辽阳县13433101317: matlab有现成的函数将rgb图像转换为灰度图像吗 -
采杭开同: 这个好办.首先读入你的图像.假设你的图像在matlab的当前工作目录,名字为A.tif.(这里我要强调下:因为我不知道你所谓的灰度图像是什么意思.后缀名是什么.但是我要说不是说你看到它是黑白图像他就是灰度图像.是不是灰度图像要从...

辽阳县13433101317: 如何在matlab中将彩色图像转化为灰度图像 -
采杭开同: 调用命令rgb2gray,具体用法可查自带的帮助,比如:RGB = imread('peppers.png'); imshow(RGB) I = rgb2gray(RGB); figure imshow(I)

辽阳县13433101317: matlab 中怎样讲一个真彩色图像变为灰度图像 -
采杭开同: rgb2gray Convert an RGB image or colormap to grayscale 转换RGB图像或颜色映像表为灰度图像.Syntax: I = rgb2gray(RGB) newmap = rgb2gray(map)Description: rgb2gray converts RGB images to grayscale by eliminating the hue and ...

辽阳县13433101317: 急需彩色图像转变为灰度图像的matlab的程序代码 -
采杭开同: RGB=imread('img.bmp','bmp'); %读入彩色图片 figure(1),imshow(RGB),title('彩色图'); %显示彩色图片 I=rgb2gray(RGB); %彩色转化成灰度图 figure(2),imshow(I),title('灰度图'); %显示灰度图

辽阳县13433101317: 本人对MATLAB一窍不通,求助如何用三维数组中的一组,将彩色图像变换成灰度图像?? -
采杭开同: 这个比较简单:I=imread('picture.jpg');%picture是你的图片名,必须存在work中 J=I(:,:,1);%其中1可以换为2或3,就对应三个不同颜色转换而来 imshow(J);可以观察转换的结果 当然那个人建议最好用matlab自带的转换函数,例如上述图像读入到I后:J=rgb2gray(I); 这样可以直接将rgb转换为灰度图像,比较好的效果

辽阳县13433101317: rgb图像按指定的公式 r=255R/(R+G+B) 转成灰度图,求大神教我写出这个matlab程序啊. -
采杭开同: IM=imread('a.jpg'); [M,N,~]=size(IM); R=IM(:,:,1); G=IM(:,:,2); B=IM(:,:,3); r=255*R./(R+B+G); imshow(r)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网