プロフィール

 twitter:taisei117
 scrapbox:大成道

2019/02/05

190206:opencv3.4.2の環境をインストールしたい

OpenCVでARマーカー(QRコード)の読み取りを試したい
anaconda上でpython3.5の環境で開発している

cv2.aruco内の
aruco.getPredefinedDictionary(aruco.DICT_4X4_50)
を実行時に以下のエラーがでた。

-----

help(cv2.aruco)の実行結果
 Help on module cv2.aruco in cv2:

 NAME
     cv2.aruco

 DATA
     DICT_4X4_100 = 1
     DICT_4X4_1000 = 3
     DICT_4X4_250 = 2
     DICT_4X4_50 = 0
     DICT_5X5_100 = 5
     DICT_5X5_1000 = 7
     DICT_5X5_250 = 6
     DICT_5X5_50 = 4
     DICT_6X6_100 = 9
     DICT_6X6_1000 = 11
     DICT_6X6_250 = 10
     DICT_6X6_50 = 8
     DICT_7X7_100 = 13
     DICT_7X7_1000 = 15
     DICT_7X7_250 = 14
     DICT_7X7_50 = 12
     DICT_ARUCO_ORIGINAL = 16

 FILE
     (built-in)


エラー内容
 AttributeError                            Traceback (most recent call last)
 <ipython-input-3-fac7726df4e0> in <module>()
       3 help(aruco) #aruco動作確認用
       4 #マーカーの描画、arucoの辞書データから抽出
 ----> 5 dictionary = aruco.getPredefinedDictionary(aruco.DICT_4X4_50)
       6
       7 for i in range(5):

 AttributeError: module 'cv2.aruco' has no attribute 'getPredefinedDictionary'

-----

help(aruco)は動作しているが、aruco.getPredefinedDictionary()は動作しない。
opencvのバージョンを確認したらopencv3.1だった



cv2.arucoを使用するためには、opencvのバージョンを上げる必要がある
現状、インストールできる最新版がopencv3.4.2であり、その環境をインストールする


コマンドプロンプトから環境を設定する。
anacondaがインストールされていることを前提としている。

コマンドプロンプトを起動し、
conda -n XXXXX python=3.5 anaconda
と入力することで、XXXXXという名前の仮想環境をインストールできる

今回は、opencv3.4.2という名前の環境を作成するため
conda -n opencv3.4.2 python=3.5 anaconda
と入力したが、名前は自分が認識できればなんでもよい

conda の最新版があり、アップデートを推奨される。
特に対応しなくても問題なかった















その後、
activate XXXXX
と入力し、インストールした仮想環境をアクティブにする
その状態で、
conda install -c anaconda opencv
と入力することで、opencv3.4.2をインストールできる

ここで、
conda install -c menpo opencv
と入力した場合、opencv3.1がインストールされる

以下のページの中ほどにあるコマンド(conda install -c anaconda opencv)を参照し、入力した
Opencv :: Anaconda Cloud:https://anaconda.org/anaconda/opencv





インストール後、
ipython
import cv2
print(cv2.__version__)
と入力し、インストールされたopencvのバージョンを確認


opencv 3.4.1がインストールされているようである
なぜ3.4.2でないのかは不明だが、今回は特に問題ない

アナコンダを起動すると、opencv3.4.2の環境が構築できていることが確認できる