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('蓝色分量差异');
RGB 与 (RGB转 YCbCr再转为 RGB)的图像的更多相关文章
- 将16进制的颜色转为rgb颜色
在前端面试过程中,常常会遇到这样一种类型的题目: 使用js将16进制的颜色值转为rgb颜色! 反而在项目中,不怎么遇到这种问题,也很少有这种需求的项目. 但毕竟面试中常常遇到,我自己在之前的面试的时候 ...
- RGB和YUV、YCbCr 以及格式的转换总结
比较好的文章收集链接: https://www.douban.com/note/76361504/ http://blog.sina.com.cn/s/blog_a85e142101010h8n.ht ...
- 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
原文:上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片 我们知道,如果网站上传图片时,如果用户上传的是CMYK图片,那么在网站上将是无法显示的,通常的现象是出现一个红叉.下面使用将Ima ...
- 视频色彩空间RGB、YUV、YCbCr
RGB.YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间).它的用途是在某些标准下用通常可接受的方式对彩色加以描述.本质上,彩色模型是坐标系统和子空间的阐述. RGB R ...
- RGB、YUV和YCbCr介绍【转】
RGB: 就是常说的红(Red).绿(Green)和蓝(Blue),每个图像的像素点由RGB三个通道的值组成. YUV和YCbCr: YUV与RGB的转换: Y'= 0.299*R' + 0.587* ...
- 使用FFmpeg解码并用swscale将YUV转为RGB
#include <stdio.h> #include <libavcodec/avcodec.h> #include <libavformat/avformat.h&g ...
- 颜色16进制转为RGB格式
<script> 2 function getRGB(str){ var arr = str.split(""); var myred = arr[1]+arr[2]; ...
- 颜色color转为rgb格式
function convertHexToRGB(color) { if (color.length === 4) { let extendedColor = &q ...
- 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 ...
随机推荐
- DNS同时占用UDP和TCP端口53——传输数据超过512时候用tcp,DNS服务器可以配置仅支持UDP查询包
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下使用这两种协议. 先简单介绍下TCP与UDP. ...
- hdoj--3635--Dragon Balls(并查集记录深度)
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- J2EE7与Servlet3.x
J2EE7结构图 JWS:即Java Web Service,指与webservice相关的JavaEE技术部分,webservice是一种基于XML的独立的.跨平台的.互操作的应用程序,XML又包含 ...
- php 获取随机字符串(原创)
//获取随机数字字母字符串 function get_rand_str($len=8){ $randArr=array_merge(range(0,9),range('a','z'),range('A ...
- ubuntu系统源的更新
以前没有注意,ubuntu的系统的源原来每次在GUI操作后都会追加在后面而不是覆盖,比如先添加了上海交大的源那么后来如果发现很慢下载不了,而这个包已经在apt-cache里面了,下次如果要instal ...
- springboot的推荐模板引擎-Thymeleaf
1)添加对themeleaf的支持的依赖 <!--Thymeleaf--> <dependency> <groupId>org.springframework.bo ...
- B - Nearly Lucky Number
Problem description Petya loves lucky numbers. We all know that lucky numbers are the positive integ ...
- YCbCr to RGB and RGB toYCbCr
RGB => YCbCr: Y = 0.299R + 0.587G + 0.114BCb = -0.1726R - 0.3388G + 0.5114B + 128Cr = 0.5114R - 0 ...
- Git Learning Part I - Install Git and configure it
Why we need 'Git' GIt version control: 1. record the history about updating code and deleting code 2 ...
- CentOS7 使用 firewalld 打开关闭 防火墙 与 端口!!
1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...