私はPythonの削除版、マイクロパイソンで書いています。
私はいくつかの画像処理を行い、 "find_line_segments"(それはCanny EdgeとHough Lines変換を行います)というメソッドから返された最長のラインを見つけることを試みています。
BUT!私は間違いを続ける。
コードPython:例外をキャッチできないエラーチェック
rl = max(img.find_line_segments(roi = r_r, threshold = 1000, theta_margin = 15, rho_margin = 15, segment_threshold = 100), key = lambda x: x.length())
if rl is not None:
if rl[6] > 0 :
img.draw_line(rl.line(), color = 155)
print("RL")
print(rl)
エラー:
Traceback (most recent call last):
File "<stdin>", line 77, in <module>
ValueError: arg is an empty sequence
MicroPython d23b594 on 2017-07-05; OPENMV3 with STM32F765
Type "help()" for more information.
ラインif rl is not None:
にエラー指していること...それはエラーの原因となっている理由を私は理解していません。 max()関数が値を返さない場合(行が見つからない場合)、if文は決して実行されません。
私は何を理解していませんか?
編集:
誤って一部のコードを削除しました。
コードを正しくフォーマットしておけば、簡単に手助けすることができます。 – rayrase
私のコードに何が問題なのですか? –
'None!= []'。 'rl:'がうまくいっていないので動作するかもしれませんが、あなたの質問を理解するのは難しいので推測です。また、(あなたの質問のタイトルが示唆している)例外をキャッチしようとは思わないが、例外的な状況を回避しようとする。 – roganjosh