web-dev-qa-db-ja.com

pythonでの画像のガウス平滑化

私はPythonでのプログラミングに非常に慣れていないので、まだすべてを理解しようとしていますが、画像をガウス平滑化または畳み込みしようとするときに問題があります。これはおそらく簡単な修正ですが、私はそれを理解しようと多くの時間を費やしてきました。銀河群の3d.fitsファイルがあり、特定の銀河を切り取って、aplpyを使用してpngに保存しました。基本的に、それはガウスとしてより大きなビームサイズに平滑化する必要があります(つまり、FWHMを拡張して出力を暗くして全体を大きくします)。私はscipy.ndimage.convolveや私が使用できる同様の関数をnumpyにあることを知っていますが、それを何か有用なものに変換するのに苦労しています。誰かが私にこれを手に入れて正しい方向に向けることができれば、それは大きな助けになるでしょう。

14
Jenn

おそらくこのような何か?

import numpy as np
import scipy.ndimage as ndimage
import matplotlib.pyplot as plt

img = ndimage.imread('galaxies.png')
plt.imshow(img, interpolation='nearest')
plt.show()
# Note the 0 sigma for the last axis, we don't wan't to blurr the color planes together!
img = ndimage.gaussian_filter(img, sigma=(5, 5, 0), order=0)
plt.imshow(img, interpolation='nearest')
plt.show()

enter image description hereenter image description here

(元の画像は ここ から取得)

23
Jaime