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('蓝色分量差异');

RGB 与 (RGB转 YCbCr再转为 RGB)的图像的更多相关文章

  1. 将16进制的颜色转为rgb颜色

    在前端面试过程中,常常会遇到这样一种类型的题目: 使用js将16进制的颜色值转为rgb颜色! 反而在项目中,不怎么遇到这种问题,也很少有这种需求的项目. 但毕竟面试中常常遇到,我自己在之前的面试的时候 ...

  2. RGB和YUV、YCbCr 以及格式的转换总结

    比较好的文章收集链接: https://www.douban.com/note/76361504/ http://blog.sina.com.cn/s/blog_a85e142101010h8n.ht ...

  3. 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片

    原文:上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片 我们知道,如果网站上传图片时,如果用户上传的是CMYK图片,那么在网站上将是无法显示的,通常的现象是出现一个红叉.下面使用将Ima ...

  4. 视频色彩空间RGB、YUV、YCbCr

    RGB.YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间).它的用途是在某些标准下用通常可接受的方式对彩色加以描述.本质上,彩色模型是坐标系统和子空间的阐述. RGB R ...

  5. RGB、YUV和YCbCr介绍【转】

    RGB: 就是常说的红(Red).绿(Green)和蓝(Blue),每个图像的像素点由RGB三个通道的值组成. YUV和YCbCr: YUV与RGB的转换: Y'= 0.299*R' + 0.587* ...

  6. 使用FFmpeg解码并用swscale将YUV转为RGB

    #include <stdio.h> #include <libavcodec/avcodec.h> #include <libavformat/avformat.h&g ...

  7. 颜色16进制转为RGB格式

    <script> 2 function getRGB(str){ var arr = str.split(""); var myred = arr[1]+arr[2]; ...

  8. 颜色color转为rgb格式

    function convertHexToRGB(color) {       if (color.length === 4) {             let extendedColor = &q ...

  9. Linux 下V4l2摄像头采集图片,实现yuyv转RGB,RGB转BMP,RGB伸缩,jpeglib 库实现压缩RGB到内存中,JPEG经UDP发送功(转)

    ./configure CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld --host=arm-linux --prefix=/usr/loca ...

随机推荐

  1. SQLite 常用函数

    SQLite 常用函数 参考: SQLite 常用函数 | 菜鸟教程http://www.runoob.com/sqlite/sqlite-functions.html SQLite 常用函数 SQL ...

  2. oracle ash性能报告的使用方法

    活动会话历史报告活动会话历史v$active_session_history视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待 ...

  3. 基于Websocket的火拼俄罗斯(基础)

    传统的HTTP请求是由浏览器发起,然后呢服务端接收到请求之后呢返回一个数据.那么这样一次来回之后呢请求就断了.但是WebSocket它不一样,它同样是由浏览器去发起一个请求但是这个请求是一个WebSo ...

  4. 第二课 TXT读取 - 导出 - 选择顶部/底部记录 - 描述性统计 - 分组/排序

    第2课 创建数据 - 我们从创建自己的数据集开始分析.这可以防止阅读本教程的最终用户为得到下面的结果而不得不下载许多文件.我们将把这个数据集导出到一个文本文件中,这样您就可以获得从文本文件中一些拉取数 ...

  5. for循环和数组的应用

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...

  6. 【MFC】如何在mfc窗口程序中调用控制台

    1.工程名为Zero,在CZeroDlg.cpp中加入头文件 #include “conio.h” : 2.在CZeroDlg::OnInitDialog() {…}函数中加入AllocConsole ...

  7. poj1111 Image Perimeters 广搜

    题目大意: 输入一个矩阵,再输入其中一个“X”的位置(从1开始).从该位置向八个方向扩展,如果是“X”就可以并在一起.问最后得到的模块的周长是多少. 解题思路: 按照广搜的思路来做.用一个二维的数组标 ...

  8. MemCached总结二:数据管理指令

    管理memcached中的数据包括添加(add).修改(set).删除(delete)及获取(get)等操作. 命令格式: 1.set set userId 0 0 5 12345 STORED ge ...

  9. sublime text 3 上安装xdebug

    安装完成之后启动xdebug,缺省设置下会显示warning等信息,很不方便. 可以参考 https://github.com/martomo/SublimeTextXdebug/blob/maste ...

  10. 可以忽略的:BASH:/:这是一个目录

    linux Ubuntu 14.04 在使用VIM编辑 /etc/profile 保存之后,出现了这个问题 其实,这个是可以忽略不计的问题,字符编码问题