嗨,我有一张适合我阅读的图片,pyfits.getdata
图片的角落有严重的渐晕。我创建了第二个numpy
数组,其尺寸与原始图像相同,坏像素的值为 1,可用像素的值为 0。为了检测我pysex
在原始图像上使用的点源。该pysex
例程将渐晕区域中的波动检测为点源。如何在标记坏像素的数组上进行插值。我已经尝试过scipy.interpolate.griddata
,scipy.interpolate.interp2d
但所需的论点不清楚,最简单的解决方案是什么?
问问题
1654 次
2 回答
0
您在 (x0,y0) = 5,10 处有坏像素,在 (x1,y1) = 50,100 处有另一个像素
output = Scipy.interpolate.map_coordinat(array,np.array([[5,50],[10,100]]))
1bad_value = output[0]
2bad_value = output[1]
就像 [x0,x1,x2,x3],[y0,y1,y2,y3] ,我承认不是很直观
你想要更多,这是一个非常好的帖子: 网格数据的快速插值
但实际上我会使用 scipy.filter.uniform_filter 来处理坏像素。它为您提供了 neigbourgs 的平均值。它不如三次插值精确,但更稳健。更好的 scipy.filter.median_filter 以防您有 2 个坏像素彼此靠近。
于 2013-09-23T19:19:14.683 回答
0
我认为map_coordinates
应该能够给你你想要的:
index_vignetted = scipy.ndimage.map_coordinates(vignette, point_sources)
这将为您返回一个向量,其中包含每个点源位置下像素的晕影值。
于 2018-02-07T22:25:37.333 回答