社区
数据结构与算法
帖子详情
YUV 与RGB问题
ljc_9449
2008-04-23 08:55:58
IYUV转RGB
r = 1.0*Y + 0 + 1.402*(V-128);
g = 1.0*Y - 0.34413*(U-128)-0.71414*(V-128);
b = 1.0*Y + 1.772*(U-128)+0; 这个公式, 比较亮的地方颜色会乱,为何???高手帮忙
...全文
78
7
打赏
收藏
YUV 与RGB问题
IYUV转RGB r = 1.0*Y + 0 + 1.402*(V-128); g = 1.0*Y - 0.34413*(U-128)-0.71414*(V-128); b = 1.0*Y + 1.772*(U-128)+0; 这个公式, 比较亮的地方颜色会乱,为何???高手帮忙
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ljc_9449
2008-04-24
打赏
举报
回复
解决了,定义成int型, 就是没想到,哎, 多谢了
oo
2008-04-24
打赏
举报
回复
你的r,g,b都是定义的unsigned char,所以在你注释的那三行里编译器已经做了溢出处理了,
你后面的溢出保护已经没意义了,也许要在你注释的三行代码里用一个 short来保存结果。
(对YUV格式不了解,只是从代码来看)
ljc_9449
2008-04-24
打赏
举报
回复
注释了的那三行代码是在里面的,指教!!
ljc_9449
2008-04-24
打赏
举报
回复
inline void ShowYUV(Uint8* pY, Uint8* pU, Uint8* pV, int nWidth, int nHeight)
{
unsigned char *pR = new unsigned char[nWidth*nHeight];
unsigned char *pG = new unsigned char[nWidth*nHeight];
unsigned char *pB = new unsigned char[nWidth*nHeight];
Uint8 Y, U, V;
unsigned char r, g, b;
int nPos;
for (int i = 0; i < nHeight; i++)
{
for (int j = 0; j < nWidth; j++)
{
Y = pY[i*nWidth + j];
U = pU[((int)(i/2))*((int)(nWidth/2)) + (int)(j/2)];
V = pV[((int)(i/2))*((int)(nWidth/2)) + (int)(j/2)];
nPos = i*nWidth + j;
//r = 1.0*Y + 8 + 1.402*(V-128);
//g = 1.0*Y - 0.34413*(U-128)-0.71414*(V-128);
//b = 1.0*Y + 1.772*(U-128)+0;
if (r > 255) r = 255;
if (g > 255) g = 255;
if (b > 255) b = 255;
if (r < 0) r = 0;
if (g < 0) g = 0;
if (b < 0) b = 0;
pR[nPos]= r ;
pG[nPos]= g ;
pB[nPos]= b ;
}
}
delete[] pY;
delete[] pU;
delete[] pV;
R_G_B *pRGB = new R_G_B(pR, pG, pB, nWidth, nHeight);
::SendMessage(hDispWnd, WM_RGBDISP, 0, (LPARAM)pRGB);
}
fire_woods
2008-04-24
打赏
举报
回复
那么把相关的代码也贴出来.
ljc_9449
2008-04-24
打赏
举报
回复
做了保护的,!!!!
fire_woods
2008-04-24
打赏
举报
回复
没有做溢出保护
if(r<0) r = 0;
if(r>255) r = 255;
g和b也一样,都要做保护.
YUV
和
RGB
颜色互转的小工具
总之,理解和掌握
YUV
与
RGB
之间的转换对于进行数字图像处理和视频编码至关重要。通过使用提供的小工具和源代码,你可以更便捷地进行这两种颜色空间的互换,提升工作效率。如果你在处理视频或图像时遇到颜色转换
问题
,...
YUV
420图像数据转换成
RGB
888和
RGB
565位图文件
将
YUV
420图像数据转换成
RGB
888和
RGB
565位图文件;包含
YUV
420解码算法;
YUV
数据到
RGB
数据的转换算法;生成
RGB
888位图和
RGB
565位图的BITMAP文件格式算法;相关算法与函数都有详细的注释信息。
RGB
YUV
转换工具
例如,当开发者需要将一个
RGB
图像编码为适合传输的
YUV
格式时,或者在处理不同设备间的色彩一致性
问题
时,这样的工具就能发挥关键作用。通过直观的界面,用户可以直接输入
RGB
值或
YUV
值,查看它们的对应关系,从而理解...
使用FFmpeg将
RGB
格式图片或视频转换为
YUV
格式
*将
RGB
转换为
YUV
420P * *码术 codemanship *http://blog.csdn.net/codemanship *微信公众号: codemanship *本程序实现了
RGB
像素数据转换为
YUV
像素数据 *是最简单的FFmpeg视频编码方面的教程。 *通过学习本例子可以...
BMP 转
RGB
YUV
工具
RGB
32
RGB
24
RGB
16 GRAY
RGB
4444
RGB
5551
YUV
422
YUV
444COM
YUV
444SEP
YUV
420 Y_UV22 Y_UV20
YUV
422SEP 等格式的二进制文件 是制作UI和测试LCDC的好工具 Y_UV20 为simi planar 即
YUV
420格式,Y单独放,UV packed...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章