私の現在のプログラムはユーザーに画像を出力し、ユーザー入力に基づいて、必要に応じて画像を再調整します。
簡単に言うと、画像ファイルで円形のオブジェクトを見つけようとしています。ハフサークル変換を使用します。ただし、画像内の私の円の多くは「完全な円」ではないため、円の半径を「推測」するアルゴリズムを実行しています。ただし、必要に応じてユーザーが半径を再調整できるようにしたいと思います。
ユーザーに入力を求め、ユーザー入力に基づいて、imshow()でウィンドウを再調整する方法はありますか?現在、imshow()は、cv2.waitKey(0)を使用するまで実際のウィンドウを表示することを拒否します。使用する時点では、ウィンドウが破棄されるまでユーザー入力を要求できません。
imshow
は、破棄せずに繰り返し呼び出すことができます。はい、おそらくwaitKey
が必要になります。0で呼び出さないでください。そうしないと、無期限に待機します。 1で呼び出すと、1ミリ秒待って、画像が再描画されることを確認します。次のようなものを試してください:
while True:
cv2.imshow('image', img)
cv2.waitKey(1)
radius = input('Input radius')
# recalculate image with new radius here...