matlab 关于图像的小程序,求翻译
clearrgb_R=zeros(128,128);rgb_R(1:64,1:64)=1;rgb_G=zeros(128,128);rgb_G(1:64,65:128)=...
clear
rgb_R=zeros(128,128);
rgb_R(1:64,1:64)=1;
rgb_G=zeros(128,128);
rgb_G(1:64,65:128)=1;
rgb_B=zeros(128,128);
rgb_B(65:128,1:64)=1;
rgb=cat(3,rgb_R,rgb_G,rgb_B);
figure, imshow(rgb), title('RGB彩色图像'); 展开
rgb_R=zeros(128,128);
rgb_R(1:64,1:64)=1;
rgb_G=zeros(128,128);
rgb_G(1:64,65:128)=1;
rgb_B=zeros(128,128);
rgb_B(65:128,1:64)=1;
rgb=cat(3,rgb_R,rgb_G,rgb_B);
figure, imshow(rgb), title('RGB彩色图像'); 展开
展开全部
就是构成RGB颜色表示的128x128的图,并把它显示出来。
分成四块,左上角是红色,右上角是绿色,左下角是蓝色,右下角是黑色。
分成四块,左上角是红色,右上角是绿色,左下角是蓝色,右下角是黑色。
追问
rgb_R(1:64,1:64)=1;
多谢,那这个呢??
追答
RGB颜色的图象每个象素用三个基色来表示,所以对应的是三维数组,其中前两维是图像的水平和垂直像素数,第三位长度为3,分别是红绿蓝三色。而每种颜色又用0-1之间的数来表示,0表示无该种颜色,1表示颜色为最大。如果三色都是1,对应白色,都是0则对应黑色。
回到这段代码上,首先用
rgb_R=zeros(128,128);
生成红色的128x128个像素,值为0,表示都没有红色。然后
rgb_R(1:64,1:64)=1;
把左上角的64x64像素值改为1,表示红色为满的。
类似的处理了绿色和蓝色,然后用
rgb=cat(3,rgb_R,rgb_G,rgb_B);
把三个基色的二维数组拼接成三维的,而右下角没处理的那部分,自然就是黑色了。
我说的足够清楚了吧?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询