MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   【求助】一个图像RGB矩阵提取问题 (https://www.labfans.com/bbs/showthread.php?t=471)

adai 2007-06-28 10:11

【求助】一个图像RGB矩阵提取问题
 
[FONT="新宋体"][SIZE="5"]请问如何将一张图像的RGB象素矩阵分别提取出来啊?
我做的课题需要分别对R、G、B象素矩阵进行处理,然后再合并为一张彩色图像。我曾经用过这个函数:rgb2gray(imread('fruit.jpg')),但是这样处理的结果是个灰度图像。恳请图像处理方面的高手指点一下,你们的举手之劳可能对我的帮助却是极大的,谢谢。[/SIZE][/FONT]

caspar 2007-07-05 10:05

我也想知道这个问题啊,求高手解答

wangfei1008 2007-07-05 13:22

RGB的图像要分别提取三种基色,图像存储是m*n*3,第三维的第一面为红,第二面为绿,第三面为蓝。

fiona_chen 2007-07-14 03:44

rgb2gray(imread('fruit.jpg'))出来当然是灰的啦,看函数名字就知道是RGB to Gray啦~~
提取的话简单的很,比如说你读入一副图像:a=imread('xxx.jpg');
然后提取RGB:
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
就分解成RGB三个二维矩阵了。之后就可以分别对他们做操作,比如滤波什么的。
最后再合并起来就行了。
a2(:,:,1)=R;
a2(:,:,2)=G;
a2(:,:,3)=B;
imshow(a2);
就成功了!

034100628 2008-03-15 17:02

利用[I,SP]=imread('1_5.tif');I为灰度图像矩阵,SP为RGP图像矩阵

tolabfans 2008-03-16 15:18

[QUOTE=fiona_chen;2026]rgb2gray(imread('fruit.jpg'))出来当然是灰的啦,看函数名字就知道是RGB to Gray啦~~
提取的话简单的很,比如说你读入一副图像:a=imread('xxx.jpg');
然后提取RGB:
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
就分...[/QUOTE]
此贴甚好,支持

danlei0120 2008-03-26 16:40

学习
 
:biggrin: [QUOTE=fiona_chen;2026]rgb2gray(imread('fruit.jpg'))出来当然是灰的啦,看函数名字就知道是RGB to Gray啦~~
提取的话简单的很,比如说你读入一副图像:a=imread('xxx.jpg');
然后提取RGB:
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
就分...[/QUOTE]

好,支持。

yuetai0716 2008-03-27 15:07

我刚刚做了个练习,确实是这样的,谢谢!!

yiyunyi186186 2008-03-28 12:43

[QUOTE=fiona_chen;2026]rgb2gray(imread('fruit.jpg'))出来当然是灰的啦,看函数名字就知道是RGB to Gray啦~~
提取的话简单的很,比如说你读入一副图像:a=imread('xxx.jpg');
然后提取RGB:
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
就分...[/QUOTE]

很支持 , 路过感谢

ninja 2008-03-28 13:18

M*N*3矩阵的第三维也可能是color map的index系数表吧,不同系数指向不同的RGB配色组合。

qiaoqiao 2008-04-23 21:15

路过学习一下

prettybuddy 2008-10-17 20:49

回复: 【求助】一个图像RGB矩阵提取问题
 
不错非常感谢

huyingru 2008-10-20 16:07

回复: 【求助】一个图像RGB矩阵提取问题
 
是这样子的

hippo613 2008-10-25 10:42

回复: 【求助】一个图像RGB矩阵提取问题
 
[QUOTE=fiona_chen;2026]rgb2gray(imread('fruit.jpg'))出来当然是灰的啦,看函数名字就知道是RGB to Gray啦~~
提取的话简单的很,比如说你读入一副图像:a=imread('xxx.jpg');
然后提取RGB:
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
就分...[/QUOTE]

按你说的,把它分成R、G、B三个矩阵,我怎么提出每个矩阵的元素而形成以下矩阵呢?
P={p1=R(1),p2=G(1),p3=B(1),p4=R(2),p5=G(2),p6=B2),.............} ,也就是说P矩阵的前三项分别是R、G、B矩阵中的第一个元素,P矩阵接下来的三项分别是R、G、B矩阵中的第二个元素,。。以此类推。。。
麻烦大侠指点下

盼兮 2009-03-20 17:23

回复: 【求助】一个图像RGB矩阵提取问题
 
:tongue: :tongue: :tongue: :tongue: :tongue: :tongue:

silas_xue 2009-03-20 18:10

回复: 【求助】一个图像RGB矩阵提取问题
 
lz 要看你的图像格式 有的格式 如.gif 使用7楼方法做不出来的 通道数目不够

silas_xue 2009-03-20 18:18

回复: 【求助】一个图像RGB矩阵提取问题
 
14楼 在读图像时 每次取同一位置的三个通道的各自值即可
pseudo:
for i,j,k
b(k) = a(i,j,1);
b(k+1) = a(i,j,2);
b(k+2) = a(i,j,3);
end for

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。


所有时间均为北京时间。现在的时间是 17:17

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.