• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【Matlab图像处理】学习笔记:cat函数合成RGB 图像 - @火枪手@

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

【Matlab图像处理】学习笔记:cat函数合成RGB 图像


RGB图像是一个M*N*3的3维矩阵组成的图像。

简单的说cat函数的主要功能是合成矩阵:

cat(1,A,B):合成1维矩阵。

cat(2,A,B):合成2维矩阵。

cat(3,A,B,C):合成3维矩阵。

cat(dim,Y0,Y1,Y2,Y3...............)

是按dim的位数来合成矩阵。

对图像生成而言,取dim=3,然后将3个分别代表RGB分量的矩阵连接在一起:

photo=cat(3,red,green,blue)

这里red,blue,green为别为生成RGB图像photo的三个分量的值,可以使用下列语句:

rgb_r=photo(:,:,1);

rgb_g=photo(:,:,2);

rgb_b=photo(:,:,3);

 

例子1:

test
 1 clear
2 rgb_R=zeros(8,256);
3 rgb_G=zeros(8,256);
4 rgb_B=zeros(8,256);
5 zero=zeros(8,256);
6
7 for i=1:256
8 rgb_R(:,i)=i;
9 rgb_G(:,i)=i;
10 rgb_B(:,i)=i;
11 end
12 red=uint8(rgb_R);
13 green=uint8(rgb_G);
14 blue=uint8(rgb_B);
15
16 R=cat(3,red,zero,zero);
17 G=cat(3,zero,green,zero);
18 B=cat(3,zero,zero,blue);
19 RG=cat(3,red,green,zero);
20 RB=cat(3,red,zero,blue);
21 GB=cat(3,zero,green,blue);
22
23 subplot(6,1,1), imshow(R), title(\'红色全彩图\');
24 subplot(6,1,2), imshow(G), title(\'绿色全彩图\');
25 subplot(6,1,3), imshow(B), title(\'蓝色全彩图\');
26 subplot(6,1,4), imshow(RG), title(\'红色和绿色复合全彩图\');
27 subplot(6,1,5), imshow(RB), title(\'红色和蓝色复合全彩图\');
28 subplot(6,1,6), imshow(GB), title(\'绿色和蓝色复合全彩图\');


结果:

例子2:

上篇中是定义了一个空的JPG图像,然后替换掉红色部分。

这次直接用CAT函数定义。

test2
 1 clear;
2 green=zeros(1080,1920);
3 zero=zeros(1080,1920);
4 a=textread(\'green.dat\',\'%s\')\';
5 b=hex2dec(a);
6 c=uint8(b);
7 for i=1:1080
8 for j=1:1920
9 m=1920*(i-1)+j;
10 green(i,j)=c(m);
11 end
12 end
13 rgb_G=uint8(green);
14 RGB=cat(3,zero,rgb_G,zero);
15 imshow(RGB);

结果:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
不通过Delphi/BCB查看.dfm文件中的界面组件的中文发布时间:2022-07-18
下一篇:
[Delphi]常用字符集简介发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap