问题标签 [yuv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4361 浏览

directshow - DirectShow RGB-YUV 滤镜

我想用 VP8 在我的应用程序中编码视频。我在我的应用程序中使用 RGB24 格式,但 VP8 DirectShow 过滤器只接受 YUV 格式(http://www.webmproject.org/tools/#directshow_filters)。

我用谷歌搜索了“RGB to YUV directshow filter”,但没有成功。我不想自己从头开始编写此过滤器,因此如果您能帮助我提供有关在哪里可以找到此类过滤器的信息,我将不胜感激。

谢谢!

0 投票
1 回答
5613 浏览

android - 有人可以解释 YuvImage 的“strides”参数吗?

我正在尝试将字节数组读入YuvImage,但无法理解strides参数的含义。谁能帮忙(最好举个例子?)谢谢。

0 投票
1 回答
9746 浏览

c++ - 将 YUV422 转换为 RGB24

我试图写一个 YUV422 到 RGB24 的转换器,但是转换数据的结果似乎很奇怪。结果是带有一些浅绿色点的紫色触摸灰度图片...有人知道吗?

我用给定的提示尝试了另一个成功的人。转换器代码来自这里: http: //paulbourke.net/dataformats/yuv/

0 投票
1 回答
532 浏览

yuv - LibJPEG 的 CbCr 值是有符号还是无符号

我有一个 SoC 相机模块,它输出以下范围内的 YCbCr 数据:Y (0 -> 255) Cb 和 Cr (-127 -> 127)

现在我的问题是,libjpeg 是否接受这些带符号的值,或者我应该更改带符号的值,使它们在 0 -> 255 的范围内?

我正在使用 ATMEL 提供的 libjpeg 'bolt-on' jpeg 压缩器作为 SAM3s-EK 的一部分。ijg_compress_raw_no_padding 函数的附加部分的代码如下所示......据我所知,这采用了我漂亮整洁的 YCbCr 数据数组并操作成 libjpeg 喜欢的形式;-)

我也不完全确定值应该在我发送这个函数的原始数据数组中的顺序,即;YCbCrY 或 YCbYCr 等,但我可以玩这个,因为当查看输出图像时它变得很明显。

因为它是我得到的图像,其中一些颜色似乎混合在一起,红色和蓝色似乎被交换了,黄色和绿色也是如此。

所以我重复我最初的问题,以防它在那里丢失:

此函数是否仅接受区域 0->255 中的值,或者它是否接受来自具有 Y (0->255) 和 Cb & Cr (-127->127) 的相机的数据?

如果有人可以就应该打包的顺序提供建议,那也会有所帮助。

非常感谢 deBoogle

0 投票
1 回答
1096 浏览

iphone - YUV420P数据如何显示?

我已经成功将libavcodec库导入到一个iPhone应用项目中,我用它把一个电影文件解码成YUV420P数据,这样我就可以得到电影的所有帧,然后将它们转换成RGB数据,这样就可以显示出来了OpenGL ES。

电影可以成功播放,但是由于从 YUV 到 RGB 的转换以及 OpenGL (glDrawArrays) 的显示方法很慢,所以速度很慢。

有没有更聪明的方式来播放视频(假设电影必须由 libavcodec 解码)?喜欢直接显示 YUV 还是转换成可以直接显示的类似 YUV 的数据?或者其他比 glDrawArrays 更快的显示方法?Core Graphics 可以加载 YUV 数据吗?

0 投票
1 回答
18713 浏览

python - PIL 的色彩空间转换 YCbCr -> RGB

PIL v1.1.7 使用的算法给出了“褪色”的结果。使用它转换相同的源数据时,ffmpeg它看起来是正确的。Usingmplayer给出了相同的结果ffmpeg(也许他们在下面使用相同的库)。这让我相信 PIL 可能会堵塞色彩空间转换。转换似乎来源于libImaging/ConvertYCbCr.c

这只是源代码中的注释,当然它是 C 代码,实际功能是用查找表而不是矩阵乘法实现的(static INT16 R_Cr为简洁起见,等被剪掉了):

我已经用谷歌搜索了,但似乎对进行这种色彩空间转换的“正确”方法有很多困惑。所以我的问题是,以上是否正确——如果不是,还有什么更好的方法?


编辑: 阅读 Mark Ransom 提供的链接后,我发现存在冲突的定义取决于您是使用 YCbCr 的全部范围还是限制在有效范围内。有关更多信息,请参见下面的链接:

似乎 PIL 版本使用了不正确的算法,所以我推出了自己的转换函数,它给出了正确的外观结果(“SDTV”版本)。代码如下,供未来读者使用:

0 投票
1 回答
2892 浏览

android - 如何缩小从 Android 相机检索到的 YUV420SP (NV21) 帧?

我目前正在开发一个处理从Camera.PreviewCallback.onPreviewFrame()检索到的相机帧的 Android 应用程序。这些帧以YUV420SP格式编码并作为字节数组提供。

我需要缩小整个帧及其内容的大小,假设是 2 倍,从 640x480 像素到 320x240。我想,为了缩小亮度部分,我可以运行一个循环,将字节 [] 帧中的每一秒值复制到一个新的、更小的数组中,但是色度部分呢?有谁更了解YUV420SP框架的结构?

提前谢谢了!

0 投票
1 回答
990 浏览

video - OpenCV:在 IYUV 中保存视频

我正在尝试保存由相机拍摄的视频。当我尝试使用 DIVX Fourcc 时效果很好,但我想做的是使用 IYUVfourcc 保存,但它给出了糟糕的结果:颜色似乎被合并,openCV 看起来没有进行转换。

我已经尝试过从 RGB 到 YUV 的手动转换,但结果是一样的cv::cvtColor (src, dst, CV_BGR2YCrCb)cv::cvtColor (src, dst, CV_BGR2YUV)

您知道如何以 YUV 格式保存视频吗?

谢谢。

亚瑟。

0 投票
2 回答
5272 浏览

android - 如何在 android 上更快地将 RGB565 转换为 YUV420SP?

我需要显示一张 jpeg 图片,并将其转换为 YUV420SP。首先我使用 SkBitmap 解析 jpeg 并显示它,然后我使用下面的代码在 android 上将 RGB565 转换为 YUV420SP,但是它花费了 75ms 来转换 640*480 RGB565 图片,所以任何人都知道将 RGB565 转换为 YUV420SP 的更快方法安卓?或更快的方法将 jpeg 文件转换为 Android 上的 YUV420SP?

android(armv6)上的输出:

处理器信息:

0 投票
4 回答
23106 浏览

c++ - 正确的 YUV422 到 RGB 的转换

大约一周以来,我一直在尝试将 YUV422 转换为 RGB 转换问题。我访问了许多不同的网站,并从每个网站获得了不同的公式。如果其他人有任何建议,我会很高兴听到他们的消息。下面的公式给了我一个整体的紫色或绿色色调的图像。到目前为止,我还没有找到一个公式可以让我恢复正确的 RGB 图像。我在下面包含了我所有的各种代码块。

任何帮助是极大的赞赏。