问题标签 [ycbcr]

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 投票
1 回答
369 浏览

ios - 我无法让 vImage(加速框架)将 420Yp8_Cb8_Cr8(平面)转换为 ARGB8888

我正在尝试将 Planar YpCbCr 转换为 RGBA,但失败并出现错误 kvImageRoiLargerThanInputBuffer。我尝试了两种不同的方法。这是一些代码片段。注意“thumbnail_buffers + 1”和“thumbnail_buffers + 2”的宽度和高度是“thumbnail_buffers + 0”的一半,因为我正在处理 4:2:0 并且具有 (1/2)*(1/2) 一样多的色度每个样本作为亮度样本。这静默失败(即使我要求解释(kvImagePrintDiagnosticsToConsole)。

所以我再次尝试使用 vImageConvert_AnyToAny:

我得到了同样的错误,但这次我将以下消息打印到控制台。

但这对我来说没有任何意义。当我有 4:2:0 数据时,我的 Cb 高度怎么可能是 Yp 高度的一半(与我的 dest RGB 高度相同)?(宽度也是如此?)我到底做错了什么?我还将进行其他转换(4:4:4、4:2:2 等),因此我们将不胜感激任何对这些 API 的澄清。此外,我的站点应该用于这些转换吗?上面我使用了 kCVImageBufferChromaLocation_Center。那是对的吗?

一些新信息: 自从发布此信息后,我看到了一个明显的错误,但修复它并没有帮助。请注意,在上面的 vImageConvert_AnyToAny 案例中,我只使用图像宽度而不是 4*width 来初始化目标缓冲区,以便为 RGBA 腾出空间。应该是这个问题吧?没有。

进一步注意,在 vImageConvert_* 案例中,我根本没有初始化目标缓冲区。也解决了这个问题,但没有帮助。

到目前为止,我已经尝试了六种不同的转换方式,从 (vImageConvert_* | vImageConvert_AnyToAny) 中选择一种,从 (kvImage420Yp8_Cb8_Cr8 | kvImage420Yp8_CbCr8 | kvImage444CrYpCb8) 中选择一种,每次都输入适当数量的输入缓冲区——仔细检查缓冲区是否考虑在内每个平面每个像素的样本数。每次我得到:

这对我来说毫无意义。如果我的亮度平面是 100 宽,我的 RGBA 缓冲区应该是 400 宽。请从 YCC 到 RGBA 的任何指导或工作代码将不胜感激。

0 投票
1 回答
77 浏览

matlab - Matlab:将图像帧保存为 YCbCr 视频

所以我有10 个单独的 YCbCr 格式的图像帧。如何在 Matlab 中将其导出为 YCbCr 视频,以便可以通过支持的视频播放器观看?

更新 1

我收到错误消息:无法从单元转换为 uint8。

0 投票
1 回答
216 浏览

arduino - OV7670:为什么测试图案有效,但图片颜色不对?

我正在使用连接到 FPGA(Cyclone V DE0-CV 板)的 OV7670 相机模块。输出 8 条彩条测试图案时,一切正常。为了输出测试模式,寄存器 0x​​71 设置为 0xB5。

8 条彩条测试模式。

尝试输出实际图像时,颜色都是错误的。灰度很好,如下所示(我不希望这样的模块有更高的质量)。

灰度图像。

颜色通常是非常粉红色的,并且看不到很多其他颜色。这可以在下面看到。决议不是问题,这是故意的。

错误着色的图像。

由于动机清晰可见,这表明 YUV 数据的 Y 分量是正确的,但色度并非如此。

可以在这里看到图像的动机,以了解颜色应该是什么。

图像的实际动机。

我玩过的配置如下所示。我已经尝试了很多不同的组合。configReg() 将指定的寄存器(第一个参数)设置为指定的值(第二个参数)。

会不会是光照导致的饱和问题?我没有误解来自相机的信号,因为测试模式是正确的。

0 投票
0 回答
226 浏览

python - 使用 numpy、scipy、skimage 等在 Python 中分别显示图像的每个 ycbcr 通道的最佳方法是什么?

更新:这个函数应该接受一个ndarray(例如,从 获得的pyplot.imread())并分别显示每个 YCbCr 通道:

这似乎应该可以工作,但是由于某种原因,当我尝试转换回 rgb 时,我得到非常小的(e-10)浮点数,包括正数和负数。据我所知,RGB 图像甚至不应该有负值......这里发生了什么,我该如何解决?

旧帖子:

这是基于绘制图像的每个 RGB 通道的类似函数。有了它,这很容易,因为imshow()据我所知,默认情况下,它将显示任何数组中的图像,其形状(x,y,3)使用 RGB 编码。

我想我可以传入一些 kwarg 来更改图像编码模式,但我找不到这样的东西。我知道我可以通过单独转换频道或其他方式找到解决方法,但这听起来很麻烦。那么在 YCbCr 中获取这些内容的最简单方法是什么?可以只使用我导入的库(也许是 scipy)来完成吗?

0 投票
0 回答
34 浏览

python-3.x - 用于消除图像中阴影的颜色校正

https://i.stack.imgur.com/u95kE.jpg

https://i.stack.imgur.com/0oIny.jpg

检测到阴影区域后,结果图像已从 YCbCr 图像空间转换为 BGR 图像空间,我应该在结果图像上应用什么技术/方法以获得适当的 BGR。

先感谢您。

0 投票
2 回答
146 浏览

c++ - 将 RGBA 二值图像转换为 YCbCr 但结果不如预期

我有一个二进制格式(.raw)的 RGBA 图像,我正在尝试使用 C++ 将图像转换为 YCbCr。然而,当使用 ffplay 查看转换后的图像时,我会得到一个绿色图像。我可能做错了什么?我有一个代码来重现我面临的问题。输入图像如下所示:https ://drive.google.com/file/d/1oDswYmmSV0pfNe-u8Do06WWVu2v1B-rg/view?usp= sharing,转换后图像的快照为https://drive.google.com/文件/d/1G8Rut3CXILqbmlGrFQsnushy2CLKu40w/view?usp=sharing。输入 RGBA .raw 图像可以在这里获得:https ://drive.google.com/file/d/19JhMjRdibGCgaUsE6DBGAXGTRiT2bmTM/view?usp=sharing

0 投票
0 回答
61 浏览

gpu - 将显示颜色格式从 YCbCr 更改为 RGB 的脚本?

我知道您可以在 Nvidia 和 AMD 驱动程序软件中执行此操作,但我试图不为使用 RX 6600 GPU 的 HTPC 安装所有臃肿的东西。从 YCbCr 切换到 RGB 是我需要的唯一真正的 GPU 调整,我似乎无法通过 Windows 11 或 MSI Afterburner 实现。

有人知道我可以运行一个脚本来切换颜色格式吗?