前提
Pythonにて, ARマーカをランダムに出力するシステムを作成しています.
定義されていないとエラーが出ました.
実現したいこと
現時点でこちらに表示しているスクリプトは一枚のマーカを出力するだけのスクリプトですが, すでにファイルに6枚のARマーカがあるので, それをランダムに表示させたいです.
発生している問題・エラーメッセージ
cv2.imshow(img) cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'imshow' > Overload resolution failed: > - imshow() missing required argument 'mat' (pos 2) > - imshow() missing required argument 'mat' (pos 2) > - imshow() missing required argument 'mat' (pos 2)
該当のソースコード
# -*- coding:utf-8 -*- import cv2 as cv # ファイルの読み込み aruco = cv.aruco dictionary = aruco.getPredefinedDictionary(aruco.DICT_4X4_50) img = cv.imread('id-001.png') cv.imshow(img) cv.waitKey(0)
試したこと
はじめは,
(#) -- coding:utf-8 --
import cv2
(#)ファイルの読み込み
img = cv2.imread('id-001.png')
cv2.imshow(img)
cv2.waitKey(0)
というようなスクリプトを記述していました.
補足情報(FW/ツールのバージョンなど)
すみません, エラーがかわりました. 以下の通りです.
[ WARN:0@0.388] global /tmp/pip-wheel-yqhq3sgl/opencv-contrib-python_c4e7c7ffd9b7480c9c72164eb700cd45/opencv/modules/imgcodecs/src/loadsave.cpp (239) findDecoder imread_('id-001.png'): can't open/read file: check file path/integrity
Traceback (most recent call last):
File "/home/b4/Desktop/ARmarker/showingmarker.py", line 7, in <module>
cv2.imshow(img)
cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'imshow'
> Overload resolution failed:
> - imshow() missing required argument 'mat' (pos 2)
> - imshow() missing required argument 'mat' (pos 2)
> - imshow() missing required argument 'mat' (pos 2)
> エラーがかわりました.
質問を編集して、そちらに追記してください
> findDecoder imread_('id-001.png'): can't open/read file: check file path/integrity
「id-001.png」というファイルが読み込めない、とのことです
その名前のファイルがカレントディレクトリにあるか、確認してください
pythonコードの先頭に下記を追加して実行したら、カレントディレクトリが表示されます
import os
print(os.getcwd())
すみません, エラー内容を編集しました.
ありがとうございます, ファイルの位置はわかりました.
また特定のpngファイルを出力することはできるのですが, ファイル内の複数のpngファイルをランダムに出力することはできないでしょうか
> imshow() missing required argument 'mat' (pos 2)
「 imshow() の引数2の"mat"がないんだけど?」エラーです。
具体的には、cv.imshow("TITLE",img)としないとエラーが出ます。
これを修正してもう一度エラー内容を確認ください。
質問の「該当のソースコード」は
> cv.imshow(img)
と、「cv2」ではなく「cv」です
一方、「発生している問題・エラーメッセージ」は
> cv2.imshow(img)
と、「cv2」です
質問が矛盾してます
記載のコードと、エラーメッセージが一致してません
ちゃんと、今実行してるコードと、そのコードを実行した時のエラーを、記載してください
> 特定のpngファイルを出力することはできる
ということは、質問の「発生している問題・エラーメッセージ」に記載してる「cv2.imshow(img)」のエラーは、今は実際は出てないのでしょうか?
すみません, コメントをいただいている間に改良を続けており, 少しずつ改善していたのですが, 違うエラーが生じるようになりました.
修正させていただきます.
回答1件
あなたの回答
tips
プレビュー