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

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

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

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

解決済

pythonのQueueについて、AttributeError: 'bool' object has no attribute 'get'のエラー

dendendenjirou
dendendenjirou

総合スコア39

Python 3.x

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

1回答

0グッド

0クリップ

1184閲覧

投稿2022/04/22 22:36

pythonのQueueにて、AttributeError: 'bool' object has no attribute 'get'
のエラーが出てしまいます。

当初、変数の'1'という数字をputしたのが原因でエラーとなっているのかと思い、
str型に変更したのですがエラーメッセージは変わらずです。

どなかた、ご教授願いませんでしょうか。

python

1def target_canvas(target_queue): 2 3 print('target_canvas') 4 root = tk.Tk() 5 root.geometry("300x200") 6 root.title("Dangerous drug") 7 var = tk.IntVar() 8 9 var.set(1) 10 11 # ラジオボタン作成 12 rdo0 = tk.Radiobutton(root, value=0, variable=var, text='taeget0') 13 rdo0.place(x=70, y=40) 14 15 rdo1 = tk.Radiobutton(root, value=1, variable=var, text='taeget1') 16 rdo1.place(x=70, y=70) 17 18 no = var.get() 19 lst_target = ['nothing', 'taeget1'] 20 drag = lst_target[no] 21 22 root.mainloop() 23 24 target_queue.clear() 25 target_queue.put(drag) 26 27if __name__ == '__main__': 28 29 frame_queue = Queue() 30 darknet_image_queue = Queue(maxsize=1) 31 detections_queue = Queue(maxsize=1) 32 fps_queue = Queue(maxsize=1) 33 target_queue = Queue() 34 target_queue.put(0) 35 36 Thread(target=target_canvas, args=(target_queue,)).start() 37 Thread(target=video_capture, args=(frame_queue, darknet_image_queue)).start() 38 Thread(target=inference, args=(darknet_image_queue, detections_queue, fps_queue)).start() 39 Thread(target=drawing, args=(frame_queue, detections_queue, fps_queue)).start() 40

python

1def print_detections(detections, target_queue, coordinates=False): 2 #print(target_queue) 3 drag = target_queue.get() 4 5 print("\nObjects:") 6 for label, confidence, bbox in detections: 7 x, y, w, h = bbox 8 if coordinates: 9 print("{}: {}% (left_x: {:.0f} top_y: {:.0f} width: {:.0f} height: {:.0f})".format(label, confidence, x, y, w, h)) 10 if label == drag: 11 winsound.Beep(800,1000) 12 else: 13 print("{}: {}%".format(label, confidence)) 14 15 if label == drag: 16 winsound.Beep(800,1000)

エラーコードは以下となります。

python

1[ERROR:0@2.721] global C:\opencv\sources\modules\videoio\src\cap.cpp (597) cv::VideoWriter::open VIDEOIO(CV_IMAGES): raised OpenCV exception: 2 3OpenCV(4.5.5) C:\opencv\sources\modules\videoio\src\cap_images.cpp:207: error: (-215:Assertion failed) !filename.empty() in function 'cv::icvExtractPattern' 4 5 6FPS: 4 7Exception in thread Thread-3: 8Traceback (most recent call last): 9 File "C:\Users\xxxxx\Anaconda3\lib\threading.py", line 932, in _bootstrap_inner 10 self.run() 11 File "C:\Users\xxxxx\Anaconda3\lib\threading.py", line 870, in run 12 self._target(*self._args, **self._kwargs) 13 File "darknet_video.py", line 137, in inference 14 darknet.print_detections(detections, args.ext_output) 15 File "C:\Users\xxxxx\PycharmProjects\darknet\build\darknet\x64\darknet.py", line 128, in print_detections 16 drag = target_queue.get() 17AttributeError: 'bool' object has no attribute 'get'

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

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

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

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

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

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

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

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

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

回答1

1

ベストアンサー

darknet.print_detections(detections, args.ext_output)

掲載のコードにはありませんが、エラーログより
print_detections 呼び出し部分の引数が間違ってます。

第2引数にQueueオブジェクトが渡っているかを確認して見て下さい。

投稿2022/04/22 23:04

編集2022/04/22 23:04
teamikl

総合スコア8538

dendendenjirou👍を押しています

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

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

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

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

回答へのコメント

dendendenjirou

2022/04/22 23:29

teammiklさん 回答ありがとうございます。 引数に関して、呼び出し先ばかり見ていて、呼び出し元の設定を見落としていました。 ご指摘いただいたおかげで、少し先に進みました。 本当にありがとうございます。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

Python 3.x

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