Ask Your Question

OpenCV 2.4.7 GPL Licensing Issue with mser.cpp

asked 2014-04-14 04:34:47 -0500

naren gravatar image

I've asked this question on stack overflow and was suggested to ask it here as well:

I am using openCV 2.4.7 with C++ to build an application which will eventually be distributed. As far as I understand, openCV falls under the BSD open source license.

However, I found that there is a package called features2d which has a class called MSER which uses a table called "chitab3". This table is extracted from a paper which is under GPL. This is present in the source code of modules/features2d/src/mser.cpp as follows:

"The color image algorithm is taken from: Maximally Stable Colour Regions for Recognition and Match; it should be much slower than grey image method ( 3~4 times ); the chi_table.h file is taken directly from paper's source code which is distributed under GPL."

Since the MSER class is available in features2d, when features2d.dll is distributed so is MSER and eventually chitab3 as well.

All this led to the following questions:

  1. What would be the best practice to prevent the usage of chitab3? I have no use for the MSER class but need the features2d.dll as it has other modules required for the application.
  2. If chitab3 is under GPL, even MSER, features2d and openCV should be under GPL. Why is openCV under BSD although one of it's modules is under GPL?
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2014-04-14 07:08:52 -0500

Vadim Pisarevsky gravatar image

Thanks for raising this issue! In theory this is some violation of the license, of course, but this not a code, this is some relatively compact table, which can be easily reproduced using Excel, Matlab etc. So, it's not big problem, I think.

However, we (OpenCV team) always try to keep the library clean and so in the upcoming OpenCV 3.0 MSER code will be removed from the library until the clean implementation is ready. Meanwhile, we already have an efficient framework that analyzes all the extreme regions, not only maximally stable extreme regions (MSER's). It's called ERFilter (objdetect module). You are welcome to try it out.

edit flag offensive delete link more


Thank you for the answer.

I am not using the MSER algorithm anywhere in the application. My question is whether the features2d.dll can be distributed with the MSER class being present in it and yet be under the BSD license, not GPL?

naren gravatar imagenaren ( 2014-04-14 07:20:35 -0500 )edit

I think yes. In case if you want to play very safe, in the upcoming OpenCV 3.0 features2d will not include the current MSER code, so there will be no licensing issues.

Vadim Pisarevsky gravatar imageVadim Pisarevsky ( 2014-04-14 07:39:29 -0500 )edit

I don't think I can wait till openCV 3.0 is released. Is there any other safe method to distribute features2d. Probably modifying source code to 0 out the chitab3[] table?

Edit: Would a disclaimer saying that MSER is not being used in the application be enough?

naren gravatar imagenaren ( 2014-04-14 07:42:43 -0500 )edit


i am having the same issue with the version 3.4.1, the note is still there, i cannot find the file that it refers to, the "chi_table.h". Would it be okay if I just remove the MSER class from my source code to generate the binaries and stay under the BSD License? or is the note no more recent? due to the answer of @Vadim that it would be cleaned or removed in the newer versions? 3.xx ?


aguila gravatar imageaguila ( 2018-06-07 02:55:36 -0500 )edit

Question Tools


Asked: 2014-04-14 04:34:47 -0500

Seen: 1,508 times

Last updated: Apr 14 '14