0

我有一个应用程序可以接受许多不同格式的图像作为字节数据。在幕后,该应用程序使用自定义代码和 opencv 转换方法将这些图像转换为我们可以使用的格式。

我正在尝试编写一些单元测试,以将许多不同格式的图像添加到我们的库中,以确保应用程序正常工作并且应用程序性能不会受到不同格式的负面影响。

为此,我想我会创建一个可以加载 JPEG 的工具,然后使用 opencv 的转换方法将图像从 opencv 加载的 BGR 格式转换为我们接受的所有不同输入格式。不幸的是,OpenCV 似乎支持转换为 RGB 空间,但在另一个方向上没有那么多支持(比如 RGB 到 YUV_NV21)。

我可以使用其他任何库或应用程序来执行此操作吗?

如果我可以将转换作为单元测试的一部分进行,并且只迭代所有不同的格式,那就太好了,但是如果我需要提前将输入生成为二进制数据文件,那也可以。

提前致谢。

编辑:当我说图像格式时,我不是指压缩图像格式,如 JPEG 或 PNG。我的意思是不同的原始图像格式,如 RGB、RGBX、YUV(在所有不同的公式中)等。

4

4 回答 4

1

您可能对英特尔的 IPP感兴趣。它有大量的颜色转换程序。不过,它不是免费的。

于 2012-11-21T12:20:32.870 回答
1

Imagemagick 是一种可能性:

http://www.imagemagick.org/script/index.php

它被许多流行的应用程序使用。

您还可以搜索支持所需格式的特定库。

编辑:由于您想要原始格式,因此这是一个不错的项目,可以满足您的需求。将 RGB 转换为 YUV,反之亦然并不困难。你只需要使用公式。

http://www.codeproject.com/Articles/402391/RGB-to-YUV-conversion-with-different-chroma-sample

于 2012-11-21T17:59:15.643 回答
1

以一种对每个人都有贡献的方式,考虑只使用 netpbm 来处理现有的内容,并为您需要的其他内容添加转换例程。netpbm.sourceforge.net

于 2012-11-21T19:34:54.330 回答
0

试试VTK。他们有不同的形象作家

于 2012-11-21T11:31:50.177 回答