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の環境が構築できていることが確認できる