ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

OpenCV Patent

asked 2012-05-22 02:44:27 -0500

smerino gravatar image

updated 2014-04-20 14:09:37 -0500

ngrennan gravatar image

I found that some algorithms included in openCV are patented:

  • SIFT
  • SURF

I'm not sure if there is any other algorithm patented.

I find this at sift.cpp:

Note that restrictions imposed by this patent (and possibly others) exist independently of and may be in conflict with the freedoms granted in this license, which refers to copyright of the program, not patents for any methods that it implements. Both copyright and patent law must be obeyed to legally use and redistribute this program and it is not the purpose of this license to induce you to infringe any patents or other property right claims or to contest validity of any such claims. If you redistribute or use the program, then this license merely protects you from committing copyright infringement. It does not protect you from committing patent infringement. So, before you do anything with this program, make sure that you have permission to do so not merely in terms of copyright, but also in terms of patent law.

Are this algorithms included in ROS package? Can we use them in commercial applications?

Thank you

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2012-05-22 04:10:54 -0500

DimitriProsser gravatar image

updated 2012-05-22 06:26:27 -0500

The OpenCV license allows its use in commercial applications. However, the SIFT and SURF algorithms are patented. If you use one in a commercial application, you may be open to a patent suit. Here's a pertinent thread from the opencv-users list. If you need to use SIFT or SURF you should protect yourself by contacting the patent owner to find out if you need to pay royalties.


I am not a lawyer, so I'm not going to claim to be 100% correct, but I do know that the purpose of a patent is to ensure that the creator of the work receives proper recognition and compensation for his/her work. My interpretation is such that if you make money using a patented algorithm, you are responsible for compensating the patent holder approrpriately. The patent holder has the right to decide what counts as "fair" compensation. Some patent holders just want to receive credit in the form of a "thank you", but some want money. Only the patent holder can make that decision, since the work belongs to him/her.

edit flag offensive delete link more



Note that OpenCV 2.4 (to be released somewhat soon I believe) moved such algorithms to a "nonfree" module so that you don't accidentally use them in your software. See .

Eric Perko gravatar image Eric Perko  ( 2012-05-22 09:07:37 -0500 )edit

That seems to make sense. But what happens if I include openCV under BSD license in a hardware an distribute that hardware explaining that openCV is free and free of charge.

Is that "comercial use"?

smerino gravatar image smerino  ( 2012-05-22 21:27:04 -0500 )edit

'Some free-software-projects are developed non-commercially. Could they be attacked by software patents at all?' Yes. The patent owner can claim that the existence of this free software hurts him commercially. (

Martin Günther gravatar image Martin Günther  ( 2012-05-23 01:38:04 -0500 )edit

Question Tools

1 follower


Asked: 2012-05-22 02:44:27 -0500

Seen: 8,073 times

Last updated: May 22 '12