matlab 将rgb转化为灰度图后怎么把灰度图变为3通道?
作者&投稿:芝斧 (若有异议请与网页底部的电邮联系)
如果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
采杭开同: 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)