使用mser.cpp的OpenCV 2.4.7 GPL许可问题

时间:2014-04-14 05:34:02

标签: c++ opencv

我正在使用带有C ++的openCV 2.4.7来构建最终将被分发的应用程序。据我了解,openCV属于BSD开源许可证。

但是,我发现有一个名为features2d的包,它有一个名为MSER的类,它使用一个名为“chitab3”的表。该表摘自GPL下的论文。这存在于modules / features2d / src / mser.cpp的源代码中,如下所示:

  
      
  • 彩色图像算法取自:用于识别和匹配的最大稳定颜色区域;
  •   
  • 它应该比灰度图像方法慢很多(3~4次);
  •   
  • chi_table.h文件直接取自纸质源代码,该源代码以GPL格式发布。
  •   

由于feature2d中有MSER类,因此当分发features2d.dll时,MSER也是如此,最终也是chitab3。

这一切导致了以下问题:

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

  2. 如果chitab3在GPL下,即使是MSER,features2d和openCV也应该在GPL下。为什么openCV属于BSD,虽然其中一个模块属于GPL?

1 个答案:

答案 0 :(得分:2)

您应该直接向OpenCV team报告此问题,以便让他们了解它。

对于您的应用程序,您可以在将MSER移至非免费 OpenCV模块后,从源代码重新编译 OpenCV,并明确禁用其中的非免费模块构建系统。然后,您发布的dll不包含任何无法在您方便时使用的数据/代码。