実現したいこと
pythonでopencvのarucoを使い物体の位置を取得したい(下の記事で行っていることをしたい)
https://qiita.com/code0327/items/c6e468da7007734c897f#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB
前提
GoogleColaboratoryを使用していてopencv-contrib-pythonのバージョンは1つ前の4.6.0.66(最新バージョンだとうまくいかなかった)
発生している問題・エラーメッセージ
arucoを使いマーカーを作成することができたがそれを検出することができない
(作成されたマーカーの画像ファイルに対して検出しようとしてもうまくいかない)
該当のソースコード
python
1import cv2 2import numpy as np 3from google.colab.patches import cv2_imshow 4aruco = cv2.aruco 5p_dict = aruco.getPredefinedDictionary(aruco.DICT_4X4_50) 6marker = [0] * 4 # 初期化 7for i in range(len(marker)): 8 marker[i] = aruco.drawMarker(p_dict, i, 75) # 75x75 px 9 cv2.imwrite(f'marker{i}.png', marker[i]) 10 11 #ここより上は正常動作 12 img = cv2.imread('marker0.png') 13corners, ids, rejectedImgPoints = aruco.detectMarkers(img, p_dict) # 検出 14img_marked = aruco.drawDetectedMarkers(img.copy(), corners, ids) # 検出結果をオーバーレイ 15cv2_imshow(img_marked) # 表示
試したこと
初めは白い背景にマーカーを張り付けたもので試していたがうまくいかなかったのでマーカーの画像ファイルそのもので試したがうまくいかなかった。
補足情報(FW/ツールのバージョンなど)
わかりにくい文章になってしまいすいません。ご回答宜しくお願い致します。
画像
回答1件
あなたの回答
tips
プレビュー