zoukankan      html  css  js  c++  java
  • 【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);

    结果:

  • 相关阅读:
    Django~1
    Codeforces Round#201(div1) D. Lucky Common Subsequence
    ACdream原创群赛(18)のAK's dream题解
    区间dp
    部署AlwaysOn第三步:集群资源组的健康检测和故障转移
    Join 和 App
    SSRS配置1:凭证和邮件
    巧用Alt 键
    把Excel的数据导入到数据库
    jvm系列:Java GC 分析
  • 原文地址:https://www.cnblogs.com/tony1224/p/2430254.html
Copyright © 2011-2022 走看看