我想调整图像的大小适合于较小的尺寸。例如,我想将我的100x100像素图像调整为58x58像素图像。阵列的值是强度或通量值。我想要在转换后保存图像的总强度。这不适用于skimage调整大小。根据我放大或缩小的因素,我的总价值会降低。我已经在下面显示了迄今为止我尝试过的代码。skimage调整大小变化总数
import numpy as np
from skimage.transform import resize
image=fits.open(directory+file1)
cutout=image[0].data
out = resize(cutout, (58,58), order=1, preserve_range=True)
print(np.sum(out),np.sum(cutout))
我的输出是:
0.074657436655 0.22187 (I want these two values to be equal)
如果我用它扩展到同一维度:
out = resize(cutout, (100,100), order=1, preserve_range=True)
print(np.sum(out),np.sum(cutout))
我的输出非常接近我想要的:
0.221869631852 0.22187
我有同样的问题,如果我试图增加这也是图像的大小。
out = resize(cutout, (200,200), order=1, preserve_range=True)
print(np.sum(out),np.sum(cutout))
输出:
0.887316320731 0.22187
我想知道是否有任何解决此问题的。
编辑1:
我意识到,如果我通过它我想增加或减少我的图像的大小规模的平方乘以我的形象,那么我的总和保守。
例如:
x=58
out = resize(cutout, (x,x), order=1, preserve_range=True)
test=out*(100/x)**2
print(np.sum(test),np.sum(cutout))
我的输出是非常接近我想要什么,但稍微高:
0.221930548915 0.22187
我试图与不同的尺寸和它的作品,除了非常小的值。任何人都可以解释为什么这种关系是真实的,或者这只是一个统计巧合。
为什么不干脆重新归一化的强度缩放后? – maxymoo
我是否应该将我的强度标准化为我的缩放因子的平方?如果是这种情况,你能告诉我为什么这种关系是真实的吗? – Vishnu
你可能想看看:http://scikit-image.org/docs/dev/api/skimage.transform.html#skimage.transform.downscale_local_mean –