提高使用for循环的效率,以纠正整个图像数据集中的死像素

时间:2016-02-25 15:25:14

标签: python for-loop image-processing

这可能有一个非常简单的解决方案,但我已经搜索了堆栈交换和谷歌,还没有找到一个。以下是我的代码中的函数。它传递了一个多维的图像数据立方体,其中“大小”是立方体的尺寸。我的探测器中有许多坏点,并使用另一个函数来查找它们的索引,我将它传递给此函数,然后通过平均周围的像素从每个图像中删除像素。

我的问题是,是否有更有效的方法来迭代图像?我知道死像素的位置,但是整个数据集需要超过10分钟来校正它们。

def _dead_pixel(dataset, indices, size):
     for i in range(0,size[0]):
         for j in range(0,size[1]):
             image = dataset[i,j]
             for k in indices:
                 dead_pixel = (image[k[0]-1,k[1]].data + image[k[0]+1,k[1]].data +image[k[0],k[1]-1].data + image[k[0],k[1]+1].data)/4
                 image[k[0],k[1]].data = dead_pixel               
return dataset

image.data只是获取图像并以数据块的形式访问数据。 “指数”是死像素的列表

0 个答案:

没有答案