Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenGL中的色彩空间转换_Opengl_3d_Nvidia_Yuv_Color Space - Fatal编程技术网

OpenGL中的色彩空间转换

OpenGL中的色彩空间转换,opengl,3d,nvidia,yuv,color-space,Opengl,3d,Nvidia,Yuv,Color Space,有没有办法在OpenGL中进行颜色转换(例如,从RGB到YUV420p来回转换)? 我可以使用后缓冲区的内容、纹理或FBO。我在这里看到了这个问题,但仅限于OpenGL 1.1,我不受OpenGL任何特定版本的限制。 我想知道是否有一种更新/更快的方法可以在新版本中实现这一点。我不想使用任何特定于硬件的东西,但如果需要,我正在使用Nvidia GPU。因为您希望更新/更快,是的,您可以尝试使用CUDA或OpenCL。它们是否会比着色器快得多。。。我不知道,一定要告诉我们。如果有什么区别的话,它

有没有办法在OpenGL中进行颜色转换(例如,从RGB到YUV420p来回转换)? 我可以使用后缓冲区的内容、纹理或FBO。我在这里看到了这个问题,但仅限于OpenGL 1.1,我不受OpenGL任何特定版本的限制。


我想知道是否有一种更新/更快的方法可以在新版本中实现这一点。我不想使用任何特定于硬件的东西,但如果需要,我正在使用Nvidia GPU。

因为您希望更新/更快,是的,您可以尝试使用CUDA或OpenCL。它们是否会比着色器快得多。。。我不知道,一定要告诉我们。如果有什么区别的话,它可以让您更好地控制如何将资源分配给任务

这两个框架都有与OpenGL共享内存的方法,因此您应该能够编写内核并将其传递给OpenGL纹理/fbo


我碰巧为xpra编写了许多这样的模块,您可以在这里找到它们的链接:(代码是GPL2+)

因为您想要更新/更快,是的,您可以尝试使用CUDA或OpenCL。它们是否会比着色器快得多。。。我不知道,一定要告诉我们。如果有什么区别的话,它可以让您更好地控制如何将资源分配给任务

这两个框架都有与OpenGL共享内存的方法,因此您应该能够编写内核并将其传递给OpenGL纹理/fbo


我碰巧为xpra编写了许多这样的模块,您可以在这里找到它们的链接:(代码是GPL2+

您可以使用glsl着色器而不是ARB_片段程序。给出了一个转换为YIQ的示例。Y'CbCr类似,但矩阵略有不同。谢谢!我希望这是一个普通的任务,并有一些库来做它,但这肯定是可行的。这肯定会给我RGB->YUV444。您将如何为YUV420p设置下采样色度通道?每四个像素只有一个样本。根据您的代码,我必须在这里做一些不同的事情,我认为float I=dot(color,kRGBToI);浮点Q=点(颜色,kRGBToQ);我不知道有任何库,但你可能会做一些重采样,以降到4:2:0。在Cb/Cr通道上进行框模糊是我的第一次尝试,但其他重采样过滤器,如高斯或Lanczos可能会更高质量。我想我需要去实现它。我认为这应该行得通。如果你把所有的评论都作为答案,我会接受。你可以使用glsl着色器而不是ARB_片段程序。给出了一个转换为YIQ的示例。Y'CbCr类似,但矩阵略有不同。谢谢!我希望这是一个普通的任务,并有一些库来做它,但这肯定是可行的。这肯定会给我RGB->YUV444。您将如何为YUV420p设置下采样色度通道?每四个像素只有一个样本。根据您的代码,我必须在这里做一些不同的事情,我认为float I=dot(color,kRGBToI);浮点Q=点(颜色,kRGBToQ);我不知道有任何库,但你可能会做一些重采样,以降到4:2:0。在Cb/Cr通道上进行框模糊是我的第一次尝试,但其他重采样过滤器,如高斯或Lanczos可能会更高质量。我想我需要去实现它。我认为这应该行得通。如果你把你所有的评论都作为答案,我会接受的。这是非常有用的。我还需要一段时间才能有机会尝试,因为更紧迫的问题必须先解决,但我会回来发布我的结果。这非常有用。我还需要一段时间才能有机会尝试,因为更紧迫的问题必须先解决,但我会回来公布我的结果。