14
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SIFTの特許が切れてOpenCV v4.4.0から普通に使えるようになってた話

Posted at

はじめに

最近、OpenCVを意図せずアップデートしたところ、SIFTを使っているコードで警告が表示されました。その原因は、SIFTの特許が切れて普通に使えるようになったためでした。その時の備忘録です。

開発環境

Ubuntu 18.04.4 LTS
Python 3.6.9
opencv 4.5.1
dlib 19.21.1

遭遇した警告

OpenCV 4.5.1で以下コードを呼び出したところ

sift = cv2.xfeatures2d.SIFT_create()

以下の警告が出ました。

[ WARN:0] global /tmp/pip-build-uyw1ttra/opencv-contrib-python/opencv_contrib/modules/xfeatures2d/misc/python/shadow_sift.hpp (15) SIFT_create DEPRECATED: cv.xfeatures2d.SIFT_create() is deprecated due SIFT tranfer to the main repository. https://github.com/opencv/opencv/issues/16736

警告に表示されているリンクを確認すると、以下の記載がありました。

Description: In 2020 March the patent on one of the most popular feature detection algorithm, SIFT, expires. So, we can move the implementation from opencv_contrib/xfeatures2d to the main OpenCV repository (opencv/features2d) in the late spring or summer. We can also optimize and improve it further, probably create bit-exact implementation.

OpenCV 4.4.0のリリースノートに以下の記載がありました。

SIFT (Scale-Invariant Feature Transform) algorithm has been moved to the main repository (patent expired)

OpenCV 4.4.0での呼び出し方

xfeatures2dをネームスペースで指定する必要がなくなり、以下のように呼べ出せるようになりました。

sift = cv2.SIFT_create()

まとめ

オープンソースなのに特許を気にするのは煩わしいですが、OpenCV使用時の煩わしさが1つ減りました。

14
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?