質問するログイン新規登録

質問編集履歴

2

ご指摘いただいたインデントの設定を行いました。

2021/07/02 04:36

投稿

nyororo
nyororo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,8 @@
10
10
  ### 発生している問題・エラーメッセージ
11
11
 
12
12
  一瞬でtry-except文を抜けてしまい、動作しません。
13
+ print(l)によって最初に読み込まれた画像の指の本数を出し続けてしまいます。
14
+
13
15
  ```
14
16
  Traceback (most recent call last):
15
17
  File "/usr/lib/python3.7/ast.py", line 35, in parse
@@ -17,8 +19,8 @@
17
19
  File "/home/pi/Desktop/HandServo2.py", line 177
18
20
  except KeyboardInterrupt: #Ctrl+Cキーが押された
19
21
  ^
20
- IndentationError: unexpected unindent
21
22
 
23
+
22
24
  ```
23
25
 
24
26
  本来指文字を数えるプログラムではframeというカメラに入力されている映像とmaskという入力映像をハイ、ローレベルに置き換えた映像の二つが映るはずなのですがどちらも動作しません。tryとwhileを入れ替えて実行してみたところカメラが起動した瞬間のmaskの画像だけ映ります。
@@ -210,7 +212,7 @@
210
212
  cv2.imshow('mask',mask)
211
213
  cv2.imshow('frame',frame)
212
214
 
213
- except KeyboardInterrupt: #Ctrl+Cキーが押された
215
+ except KeyboardInterrupt: #Ctrl+Cキーが押された
214
216
  servo1.stop() #サーボモータ1を止める
215
217
  servo2.stop() #サーボモータ2を止める
216
218
  GPIO.cleanup() #GPIOをクリーンアップ
@@ -227,11 +229,11 @@
227
229
 
228
230
  ### 試したこと
229
231
 
230
- 以下のプログラムは正常に動作します。
231
232
  while文の手前でGPIOのセットアップ、try文の終盤のif, elif分の中にサーボモータの動作設定を行うと動かなくなります。
233
+ servo1.start の下にprintを入れてみたところ、startは一度のみしか適用されていないことが分かりました。
234
+ やはりカメラの映像が連続で取り込まれず最初の一瞬のみしか入っていないのが問題です。
235
+ whileがうまくループできていないのではないかと考えています。
232
236
 
233
- whileとtryの位置を入れ替えてみるとカメラ起動時の画像は読み込まれていることが分かったのでうまくwhile文がループできていないのではないかと予想しています。
234
-
235
237
  字数制限にかかったので必要でしたらコメントの返信で指の本数を数えるプログラムを記載します。
236
238
 
237
239
  ### 補足情報(FW/ツールのバージョンなど)

1

誤字

2021/07/02 04:36

投稿

nyororo
nyororo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -232,7 +232,7 @@
232
232
 
233
233
  whileとtryの位置を入れ替えてみるとカメラ起動時の画像は読み込まれていることが分かったのでうまくwhile文がループできていないのではないかと予想しています。
234
234
 
235
- 字数制限にかかったのでコメント欄に文字認識のプログラムを記載します。
235
+ 字数制限にかかったので必要でしたらコメントの返信で指の本数を数えるプログラムを記載します。
236
236
 
237
237
  ### 補足情報(FW/ツールのバージョンなど)
238
238