2
我想應用到一個簡單的磁盤過濾器適合文件:ValueError異常:float類型的圖片必須是-1和1之間
from skimage.morphology import disk
from skimage.filters.rank import median
import numpy as np
import matplotlib.pyplot as plt
from astropy.io import fits
# Open data files for image and mask
hdulist = fits.open('xbulge-w1.fits')
w1data = hdulist[0].data
hdulistmask = fits.open('xbulge-mask.fits')
maskdata = hdulistmask[0].data
mask = 1 - maskdata
w1_masked = np.ma.array(w1data, mask = mask)
selem = disk(5)
filt = median(w1_masked,
selem=disk(5),
out=None,
mask=mask)
plt.imshow(filt)
plt.show()
但是這給了我一個「ValueError異常:float類型的圖像必須介於-1和1之間「。 發生了什麼事?
我已經添加了線 w1_masked_rescaled = w1_masked/255 打印(np.any(w1_masked_rescaled> 1)) 的聲明以下w1_masked但我仍然得到同樣的錯誤。我應該在哪裏除以255? – Jim421616
我不認爲你可以使用被屏蔽的數組...如果你想使用常規的過濾函數,你將需要用一個有效的值替換被屏蔽的值,跟蹤被屏蔽的值的位置並將它們添加回去...'numpy.ma'的文檔沒有提及任何過濾操作... – Eskapp
這是怎麼回事? https://docs.scipy.org/doc/numpy/reference/generated/numpy.ma.median.html – Jim421616