OpenCV 2.4.7 mser.cpp的GPL许可问题



我使用openCV 2.4.7和C++来构建一个最终将被分发的应用程序。据我所知,openCV属于BSD开源许可证。

然而,我发现有一个名为features2d的包,它有一个称为MSER的类,该类使用一个名"chitab3"的表。此表摘自GPL下的一篇论文。这出现在模块/features2d/src/mser.cpp的源代码中,如下所示:

  • 彩色图像算法取自:用于识别和匹配的最大稳定彩色区域
  • 它应该比灰度图像方法慢得多(3~4倍)
  • chi_table.h文件直接取自本文在GPL下发布的源代码

由于MSER类在features2d中可用,因此当features2d.dll被分发时,MSER以及最终的chitab3也是可用的。

所有这些导致了以下问题:

  1. 防止使用chitab3的最佳做法是什么?我不使用MSER类,但需要features2d.dll,因为它有应用程序所需的其他模块。

  2. 如果chitab3在GPL下,那么即使MSER、features2d和openCV也应该在GPL之下。为什么openCV在BSD下,尽管它的一个模块在GPL下?

您应该直接向OpenCV团队报告此问题,让他们意识到这一点。

对于您的应用程序,在将MSER移动到非自由OpenCV模块并在构建系统中显式禁用非自由模块后,您可以简单地从源代码重新编译OpenCV。然后,您发送的dll不包含任何不能在您方便的时候使用的数据/代码。

相关内容

  • 没有找到相关文章

最新更新