注册 登录
编程论坛 Matlab

画图问题

nuoya1129 发布于 2008-09-09 21:13, 2178 次点击
我已经创建了一幅1024*768的白色图纸,想在图纸的左边画宽度为50红色竖条,怎么将rgb的三维分量写进去呢?
谢谢
10 回复
#2
chenh20462008-09-09 23:43
红色的是[255 0 0]吧     三维矩阵每一维对应着赋值就可以了吧
#3
nuoya11292008-09-10 09:44
恩,谢谢,知道是三维矩阵的赋值,但是具体的怎么写语句呢,写出来总是报错,说维数不对!
#4
chenh20462008-09-10 10:42
如果I是图像矩阵的话,这样赋值应该可以

I(:,[1:50],2)=0;
I(:,[1:50],3)=0;
#5
nuoya11292008-09-10 10:48
如果就想创建一幅1024*768的条纹图,三个竖条纹,分别是单通道的红绿蓝,该怎么写这个图像矩阵呢,利用M=zeros(768,1024);语句创建的是一幅黑色的背景,但是想往上面加颜色条纹的时候就说维数不对!
#6
chenh20462008-09-10 10:57
我不太明白要做的是什么,如果要M=zeros(768,1024);  建立的只是一个2维的矩阵啊   
如果就是想赋值,可以随便找个1024*768的图像,用imread读取,然后对读取后的矩阵就可以随便赋值!
#7
nuoya11292008-09-10 11:08
我想做的就是生成一幅1024*768的条纹图,分别是三个单通道的红 ,绿,蓝条纹,但是总是在二位和三维的地方整不明白!
谢谢了
#8
nuoya11292008-09-10 11:09
红绿蓝条纹的rgb值分别是(255,0,0)(0,255,0)(0,0,255)
#9
chenh20462008-09-10 11:30
指令
I1=I(:,:,1)
I2=I(:,:,2)
I3=I(:,:,3)分别表示3个2维的矩阵,I是一个1024*768*3的矩阵!

生成一一个1024*768*3的矩阵可以 I(1:1024,1:768,1:3)=0;然后赋值的话就可以按上面的方法来了      说了这么多 可能我自己还是不太懂要做什么   呵呵  不知道能否帮到你!
#10
nuoya11292008-09-10 15:24
谢谢了,我再试试,研究一下!
#11
nuoya11292008-09-10 15:39
弄出来了,感谢!
1