• RGB 与 (RGB转 YCbCr再转为 RGB)的图像


           RGB 与 (RGB转 YCbCr再转为 RGB)的图像   不可逆,能够从 矩阵的逆运算看出来。

    附上 matlab 代码:

           

      clc,clear;
    Source=imread('1.jpg');%读入原始RGB图像
    
    figure(1);
    subplot(1,2,1);
    imshow(Source):title('original image');%显示图像
    [r c d]=size(Source);%计算图像大小
    %------计算红色分量并显示分解图------%
    R(:,:,1)=Source(:,:,1);
    R(:,:,2)=zeros(r,c);
    R(:,:,3)=zeros(r,c);
    R=uint8(R);
    whos;
    figure(2);
    subplot(1,3,1);
    imshow(R)
    title('Red Component');
    %-------计算绿色分量并显示分解图-------%
    G(:,:,2)=Source(:,:,2);
    G(:,:,1)=zeros(r,c);
    G(:,:,3)=zeros(r,c);
    G=uint8(G);
    figure(2);
    subplot(1,3,2);
    imshow(G)
    title('Green Component');
    %--------计算蓝色分量并显示分解图-------%
    B(:,:,3)=Source(:,:,3);
    B(:,:,1)=zeros(r,c);
    B(:,:,2)=zeros(r,c);
    B=uint8(B);
    figure(2);
    subplot(1,3,3)
    imshow(B)
    title('Blue Component');
    %------------合成-------------%
    Comp(:,:,1)=R(:,:,1);
    Comp(:,:,2)=G(:,:,2);
    Comp(:,:,3)=B(:,:,3);
    figure(5);
    subplot(1,2,2);
    imshow(Comp):title('composition image');
    Y=0.213*R+0.715*G+0.072*B;
    Cb=0.511*B-0.117*R-0.394*G+128;
    Cr=0.511*R-0.464*G-0.047*B+128;
    %red=Y+1.402*(Cr-128);
    %green=Y-0.34414*(Cb-128)-0.71414*(Cr-128);
    %blue=Y+1.772*(Cb-128);
    red = 1.164*(Y-16)+1.793*(Cr-128);
    green = 1.164*(Y-16)-0.534*(Cr-128)-0.213*(Cb-128);
    blue =1.164*(Y-16)+2.115*(Cb-128);
    Comp2(:,:,1)=red(:,:,1);
    Comp2(:,:,2)=green(:,:,2);
    Comp2(:,:,3)=blue(:,:,3);
    Comp5(:,:,1)=Y(:,:,1);
    Comp5(:,:,2)=Cb(:,:,2);
    Comp5(:,:,3)=Cr(:,:,3);
    figure(5);imshow(Comp5);title('显示11YCBcr');
    figure(1);subplot(1,2,2);imshow(Comp2);title('RGB转换为YCrCb后又转换为RGB的图像');
    RD=R(:,:,1)-red(:,:,1);
    GD=G(:,:,2)-green(:,:,2);
    BD=B(:,:,3)-blue(:,:,3);
    figure(4);subplot(1,3,1);imshow(RD);title('红色分量差异');
    subplot(1,3,2);imshow(GD);title('绿色分量差异');
    subplot(1,3,3);imshow(BD);title('蓝色分量差异');

  • 相关阅读:
    C# extern关键字的用法
    C#自定义集合类(二)
    C#自定义集合类(一)
    LINQ中交集、并集、差集、去重(十四)
    LINQ中转换操作符(十三)
    Oracle实现连乘和求和
    适配器模式
    HTTP网络协议与手写Web服务容器
    代理模式
    设计模式的几条家规
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8455797.html
Copyright © 2020-2023  润新知