画像に「星」を見つけるプログラムを書くように求められました。画像ファイルをnumpy配列に変換し、特定の閾値(背景干渉を表す)を超える画像内の最も明るいピクセル。 画像内で最も明るいピクセルを見つけたら、そのxとy座標を記録し、そのピクセルの値と周囲の10×10ピクセルの領域をゼロに設定して、画像から星を効果的に取り除く必要があります。 イメージを配列に変換するヘルパーコードが既にあり、次のように問題を解決しようとしました。イメージ内の最も明るいピクセルの座標を検索し、それらを配列に入力する
I変数
Max = array.max()
を定義し、whileループを使用しています。
while Max >= threshold
coordinates = numpy.where(array == Max) # find the maximum value
しかし、私はちょうど第1の最大を見つけ、また見つかった場合に、各最大値を削除してゼロに周囲の10×10エリアを設定しない、座標の全てに対してアレイ全体にわたってループにこれをしたいです。私はこれを行うためにforループを使用することを考えましたが、Pythonを初めて使用して以来どのように使用するべきかは不明です。
私は おかげ
イメージフォーマットとは何ですか?これは以前に解決された問題のようです。たとえば、http://tdc-www.harvard.edu/wcstools/imstar/を参照してください。 –
ビットマップイメージ.bmp –