【问题标题】:Manipulating Individual Color Information Per Pixel Of A Video File处理视频文件的每个像素的单个颜色信息
【发布时间】:2011-05-26 09:25:24
【问题描述】:

我对几种编程语言很熟悉(C#、C、Java 比其他语言更强大),所以请随意建议任何一种可以为我提供读取(最好是未压缩的)视频文件并查看颜色的方法帧中的每个像素,对于每一帧。所以我的意思是,比如说在运行 5 帧的微不足道的小视频的 1 像素显示中,是否有标准库类或方法可以访问视频期间一个像素将显示的 5 种颜色?

我从来没有正确处理过视频,我不太了解视频文件用来表示颜色信息的数据结构,或者如何处理它!

非常感谢

【问题讨论】:

  • 在 .net 中,您可能想要查看 nforge。它提供了一些视频相关的东西,但我不知道它是否有你想要的。

标签: c# java video-processing pixels


【解决方案1】:

为了处理未压缩的视频数据(因为它可能来自相机),您会获得每帧的像素数据数组;您可能想了解像素格式以及如何在数组中定义帧,这完全取决于产生视频的内容。 YUV444、YUV422 和 YUV420 格式很常见;它们在 YUV 颜色空间中表示,但如果您想要这样做,您可以轻松地在它们和 RGB(或实际上是 HSV)之间进行转换。

压缩视频格式本身就是一场噩梦,但您可以使用 ffmpeg 或类似工具将它们解压缩为原始格式。 (小心 - 未压缩的视频会很快产生大量数据!)确实,我会使用 ffmpeg 的库来处理视频,但它们是用 C(C++?) 编写的以提高速度 - 我不知道它们是否可用java 或 c#。

【讨论】:

  • 我刚刚阅读了有关 FFMpeg 的信息。似乎如果我将视频逐帧分割成图像,那么我可以只使用 C# 中的标准 GetPixel(x,y) 来检索帧中每个像素的 RGB 颜色。非常感谢您的意见
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多