2011-11-08 18 views
2

画像に「星」を見つけるプログラムを書くように求められました。画像ファイルを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を初めて使用して以来どのように使用するべきかは不明です。

私は おかげ

+0

イメージフォーマットとは何ですか?これは以前に解決された問題のようです。たとえば、http://tdc-www.harvard.edu/wcstools/imstar/を参照してください。 –

+0

ビットマップイメージ.bmp –

答えて

2

Astronomy.netがあなたのためにこれを行います、任意の提案をいただければ幸いです。

あなたは天体の座標と空の天文画像をお持ちの場合 あなたが知っている、またはしていない信用していませんAstrometry.netはあなたのためです。画像を と入力して、天気予報較正メタデータ と、既知のオブジェクトのリストを視野の内側に表示します。

我々は アーカイブ混乱のいずれかの状態では、全ての有効な 天文画像今までに撮影した、過去と未来のための正しい、 標準に準拠した天体のメタデータを作成するには、この天体の校正サービスを構築しています。これにより、世界中の天文情報を検索、整理して、 を検索できるようになることを願っています。

イメージをウェブサイトにアップロードする必要はありません。 sourceをダウンロードできます。それはGPLの下でライセンスされ、NumPyを使用するので、必要な場合にはそれに慣れることができます。

ビットマップをJPEG、GIF、PNG、またはFITSイメージのいずれかに変換する必要があります。

+0

upvotingであなたの9,001の担当者を台無しにして申し訳ありません。 – Antimony

2

などだけでnumpyのでそれを行うには、いくつかの異なる方法、

「ブルートフォース」の方法がありますがあります。

import Image 
import numpy as np 

im = Image.open('test.bmp') 
data = np.array(im) 
threshold = 200 
window = 5 # This is the "half" window... 
ni, nj = data.shape 
new_value = 0 

for i, j in zip(*np.where(data > threshold)): 
    istart, istop = max(0, i-window), min(ni, i+window+1) 
    jstart, jstop = max(0, j-window), min(nj, j+window+1) 
    data[istart:istop, jstart:jstop] = new_value 

またはより高速なアプローチが...

import Image 
import numpy as np 
import scipy.ndimage 

im = Image.open('test.bmp') 
data = np.array(im) 
threshold = 200 
window = 10 # This is the "full" window... 
new_value = 0 

mask = data > threshold 
mask = scipy.ndimage.uniform_filter(mask.astype(np.float), size=window) 
mask = mask > 0 
data[mask] = new_value 
関連する問題