找回密码
 注册
关于网站域名变更的通知
查看: 1080|回复: 1
打印 上一主题 下一主题

用MATLAB实现图像的YUV与RGB颜色空间互转

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-13 10:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

2 _7 h% E0 x$ ^. T5 @+ JRGB颜色空间/ X5 K/ m: T0 w  {4 i/ k

8 L2 G# @  W8 N        关于RGB颜色空间,相信做图像处理的人基本都比较熟悉,还是说一下R、G、B三个分量,每个分量各占8位即一个字节,三个分量总共是3个字节,即24bit,三个分量可以组合出不同的颜色,即2^24 种。
  g' D# v0 P; {; O2 H
7 Z* `6 R0 o1 r4 u. C. D( Q       所以可以表示出的颜色数远远超过了俺们人类可以识别的范围。每个RGB分量其实都是表示成亮度,当三个相同时,就退化成我们所说的灰度图了,如三个分量都是0,此时就是黑色,三个分量都是255(8位可以表示的最大值),此时就是白色,下面一张图可以更形象的描述:* F3 d  @- I4 I+ X2 Z  X

) k. Q; W( d* ~( q1 Y0 N8 I+ F " ~! E/ Z+ A9 B7 U9 c. }! {
1 ~  x) V; }6 `# b
( ]7 j% M7 m- p; h% A
YUV颜色空间
( H2 B6 Q) z1 Z0 D
7 k2 N; D) w) ]        YUV三个分量Y表示(亮度), U 、V代表色度;7 N% L; N6 E  K

  Y# ?: h4 K) c7 L, x  q        关于YUV的解释看下面一篇文章中的分析,本人不再赘述:/ I1 C- d5 j! k: @4 ]9 a
: A; V+ n, B  X8 s$ T

& w/ D! V7 ~% V- S9 ]代码如下:
0 `* d3 _. f1 n' v; w& F$ F- [2 L# Z( S2 ^
  • % BY SCOTT
  • % RGB2YUV
  • % Y = 0.299R + 0.587G + 0.114B
  • % U = -0.147R - 0.289G + 0.436B
  • % V = 0.615R - 0.515G - 0.100B
  • %
  • % YUV2RGB
  • % R = Y + 1.14V
  • % G = Y - 0.39U - 0.58V
  • % B = Y + 2.03U
  • clear all;
  • clc;
  • RGB = imread('test.jpg');
  • imshow(RGB);
  • RGB = mat2gray(RGB);
  • R = RGB(:,:,1);
  • G = RGB(:,:,2);
  • B = RGB(:,:,3);
  • x = size(RGB,1);
  • y = size(RGB,2);
  • % RGB2YUV
  • Y = 0.299*R + 0.587*G + 0.114*B;
  • U = -0.147*R- 0.289*G + 0.436*B;
  • V = 0.615*R - 0.515*G - 0.100*B;
  • YUV = cat(3, Y, U, V);
  • figure; imshow(YUV);
  • % YUV2RGB
  • RGB1 = zeros(size(RGB));
  • RGB1(:,:,1) = Y + 1.14 * V;
  • RGB1(:,:,2) = Y - 0.39 * U - 0.58 * V;
  • RGB1(:,:,3) = Y + 2.03 * U;
  • figure; imshow(RGB1)
  • % After YUV to RGB, The Image should same with original image.

  • 5 R0 _* |/ s! G: n" p* y5 L
     7 l" f- E0 K5 c

. O0 O+ Z" x* b: c) Z/ A运行结果分别如下所示:% z) r! x5 N- {) S- {
转换前RGB空间& V2 L# g7 c3 @/ \! G/ D7 U
  V, a0 {3 s/ @: \7 T) S
# X4 f& t8 y; O9 A6 m+ v- g/ b( c
转换后YUV空间
/ B# q1 p% _$ n; G
$ c' D- s5 s  D+ G9 V8 J* q
  i' S7 f& a8 @: A: o  j1 Q还原成RGB5 ^/ T+ e9 [# g+ N4 W
) B  m7 E- l( k: S& ~( R1 ~
: O; k/ Q; S" |, h( j) i6 s/ f
1 w# b9 v2 G  m' _2 S
  w* c  F2 m- n1 i

该用户从未签到

2#
发表于 2019-12-13 19:24 | 只看该作者
好厉害的技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-20 06:20 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表