社区
机器视觉
帖子详情
RGB和YCBCR之间转换的问题
sherlock_lai
2010-07-08 09:59:11
转换过程中,如果某个值算出来等于负数,怎么办?
例如当Y=25,CB=CR=230的时候,通过BT.709里的计算公式得出的R=182,G=-40,B=210,G是负数,怎么处理?
...全文
882
7
打赏
收藏
RGB和YCBCR之间转换的问题
转换过程中,如果某个值算出来等于负数,怎么办? 例如当Y=25,CB=CR=230的时候,通过BT.709里的计算公式得出的R=182,G=-40,B=210,G是负数,怎么处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fen12
2011-02-21
打赏
举报
回复
多谢,大家的回复给我了帮助
visionbug
2010-12-12
打赏
举报
回复
不懂,是说两种色域无法一一对应?那么在相互转换过程肯定有问题,那怎么解决
fire_woods
2010-07-08
打赏
举报
回复
会出现负数的, YUV空间和RGB空间并不重叠.
一般的处理是负数归零.
当然逆回去以后结果会有偏差.
jtujtujtu
2010-07-08
打赏
举报
回复
正常应该不会出现这种情况的
如果出现,再怎么处理都无法恢复之前的YCBCR
sherlock_lai
2010-07-08
打赏
举报
回复
很精彩 谢谢各位。。。我懂了
真想给你们多加几分。。。但是我比较吝啬 嘿嘿
fire_woods
2010-07-08
打赏
举报
回复
楼上, 并不是颜色不存在, 而是每个颜色体系都有自己的色域空间.
每个颜色体系作为整个色采空间的子空间, 一般每个值都代表了一个有意义的颜色.
只是某些YCbCr上的颜色, 在RGB色域空间中无法表示而已.
另外,Lab的色域空间相对来说比较大, 所以打印机一般采用这种色域空间.
beyond071
2010-07-08
打赏
举报
回复
1
[Quote=引用楼主 sherlock_lai 的回复:]
转换过程中,如果某个值算出来等于负数,怎么办?
例如当Y=25,CB=CR=230的时候,通过BT.709里的计算公式得出的R=182,G=-40,B=210,G是负数,怎么处理?
[/Quote]
RGB 和 YCrCb之间的变换虽然看上去是一个线性变换,但实际上是利用了人眼对亮度敏感而对色度信号不敏感而对色差进行的压缩处理。
既然是压缩处理就要损失信号,YCrCb的三个量定义域虽然最大可取到[0,255],但实际上Y、Cr、Cb是相互关联的,这使得Y、Cr、Cb并不能在RGB的完整信号域[0,255][0,255][0,255]中任意取值。
注意到Cb和Cr分布代表蓝色分量和红色分量,Y代表的是亮度。像lz提出的Cb = Cr = 230这种情况就是要求当前颜色蓝色分量和红色分量特别大,而又要求一个小的亮度Y = 25,这种颜色肯定是不存在的,当然会求出G为负数的错误解。
而在实际操作中,YCbCr如果是由RGB计算得到的,那么它肯定可以逆算得到一个有效的RGB值,至于是不是原来那个RGB就不见得了(压缩的缘故),因此楼主给出的情况中YCbCr并不是一个有意义的颜色值。
rgb
2
ycbcr
.m
主要功能是实现
rgb
至
ycbcr
的
转换
,将数据存储下来供modelsim仿真用。
rgb
2
ycbcr
函数
图像由
RGB
空间
转换
成
Ycbcr
空间的函数
数字
RGB
与
YCbCr
颜色空间
转换
的精度.pdf
数字
RGB
与
YCbCr
颜色空间
转换
的精度.pdf 图书馆数据库资源
RGB
到YIQ,
RGB
到HSI和HSI到
RGB
,
RGB
到
YcbCr
,
RGB
到XYZ颜色
转换
matlab代码
RGB
->
YCbCr
RGB
-> XYZ 选做: 自己实现对 BMP 文件头的读取,并解析 BMP 图像文件。 (2.5 Points) 补充说明 程序从命令行中读取文件路径,并输出 4 个文件,文件名如下: 图像原始文件名-学号-YIQ.bmp 图像原始...
RGB
与
YCbCr
颜色空间的
转换
它们
之间
的
转换
解释,对大家的开发和理解带来帮助。
机器视觉
4,446
社区成员
15,335
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章