質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

解決済

pythonにてARマーカの画像をランダムに出力したい

kinora
kinora

総合スコア3

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0グッド

0クリップ

262閲覧

投稿2022/11/17 08:32

編集2022/11/17 15:56

前提

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/ツールのバージョンなど)

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

kinora

2022/11/17 08:33

すみません, エラーがかわりました. 以下の通りです. [ 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)
jbpb0

2022/11/17 09:18

> エラーがかわりました. 質問を編集して、そちらに追記してください
jbpb0

2022/11/17 09:25

> findDecoder imread_('id-001.png'): can't open/read file: check file path/integrity 「id-001.png」というファイルが読み込めない、とのことです その名前のファイルがカレントディレクトリにあるか、確認してください pythonコードの先頭に下記を追加して実行したら、カレントディレクトリが表示されます import os print(os.getcwd())
kinora

2022/11/17 16:16 編集

すみません, エラー内容を編集しました. ありがとうございます, ファイルの位置はわかりました. また特定のpngファイルを出力することはできるのですが, ファイル内の複数のpngファイルをランダムに出力することはできないでしょうか
fourteenlength

2022/11/17 21:41 編集

> imshow() missing required argument 'mat' (pos 2) 「 imshow() の引数2の"mat"がないんだけど?」エラーです。 具体的には、cv.imshow("TITLE",img)としないとエラーが出ます。 これを修正してもう一度エラー内容を確認ください。
jbpb0

2022/11/18 02:47

質問の「該当のソースコード」は > cv.imshow(img) と、「cv2」ではなく「cv」です 一方、「発生している問題・エラーメッセージ」は > cv2.imshow(img) と、「cv2」です 質問が矛盾してます 記載のコードと、エラーメッセージが一致してません ちゃんと、今実行してるコードと、そのコードを実行した時のエラーを、記載してください
jbpb0

2022/11/18 02:49

> 特定のpngファイルを出力することはできる ということは、質問の「発生している問題・エラーメッセージ」に記載してる「cv2.imshow(img)」のエラーは、今は実際は出てないのでしょうか?
kinora

2022/11/20 04:46

すみません, コメントをいただいている間に改良を続けており, 少しずつ改善していたのですが, 違うエラーが生じるようになりました. 修正させていただきます.

回答1

0

自己解決

違うスクリプトを用いて, 一時的に解決しました.
ご協力してくださった皆様, ありがとうございました.
今後ともよろしくお願いいたします.

投稿2022/11/22 08:23

kinora

総合スコア3

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。