定義されていない私は、そのカメラのmicropythonで自分のコードを実行しています:OpenMV Cameraパイソン:自己がランダム
私はランダムに自己が定義されていないことをPythonでエラーが発生します。これは、私のPythonコードがどのように見えるかです:(ファイル全体が長すぎるだろう)
今class BlobAnalyser:
#
#constructor and lots of functions
#...
#
def findLandmarkCombo(self, bnoAngle, playingTowardsBlue):
self.findBlobs()
print(type(self))
self.possibleLandmarkIDs = []
if len(self.blobs) == 0:
return None
for blobIndex in range(len(self.blobs)):
self.possibleLandmarkIDs.append([])
#and so on and so on
、私は2つの異なるエラーメッセージを持っている:
sometimes within self.findBlobs() or at "self.possibleLandmarkIDs = []"
AttributeError: ',' object has no attribute 'possibleLandmarkIDs'
は時々「」であります'int'または '(矢印記号)'です。おそらくコンピュータとカメラの間の通信が中断されたためです。
他のタイプのエラーはprint(type(self))にあります。「定義前にローカル変数selfが呼び出されました」がエラーメッセージです。このエラーは、関数の呼び出し中に発生したことはなく、関数内に常に存在します。
これらのエラーは完全にランダムに発生します。この方法は数百回と呼ばれ、突然動作しません。そして、このクラスのインスタンスは特定のスコープ内にないので(インタプリタを開いて>>> a = 0と入力したように作成されています)、ガベージコレクタによって削除されたとは思いません。
私はそれが何であるか考えているのか、それとも研究を続けることができたのでしょうか? ありがたいことは、あなたの答え、 desireentz
EDITを楽しみにして:私は、最初に、これは一般的だと思ったので(
def findBlobs(self):
img = sensor.snapshot()
#merge = True,
allBlobs = img.find_blobs(self.thresholds, pixels_threshold=200, area_threshold=150, merge=True)
self.blobs = []
print("=====")
i = 0
for blob in allBlobs:
i += 1
img.draw_string(blob.cx() - 5, blob.cy() - 5, str(i))
img.draw_rectangle(blob.rect())
self.blobs.append(blob)
print(str(i) + ": " + str(bin(blob.code())))
self.sortBlobs()
'__init __(self)'関数がありません。 –
あなたは 'def findBlobs'も投稿できますか? – salparadise
'__init __(self)'関数が存在します。 – desireentz