如何从3个蒙版数组中创建2d图像阵列?

时间:2017-07-25 20:29:24

标签: python arrays numpy masked-array

因此,我尝试使用已保存为2d数组的图像中的平均像素值创建图像。使用暗框架相当容易,我只需要创建一个平均值。曝光时间有点复杂,因为我必须使用RGB蒙版分离图像。我无法将这些蒙版组合成一个连贯的图像。这是创建均值数组的代码:

def set_bright_mean_array(self, directories):
   green_composite= np.zeros((self.rows, self.columns))
   red_composite=blue_composite=green_composite
   n=0
   for k in range (len(directories)):
      exposure_file_names = self.set_exposure_file_names(self.exposure_directories[k])                
      for i in range(len(exposure_file_names)):
        print ('directory: %s -- loop: %s' % (directories[k], n))
        temp_array=np.load(exposure_file_names[i])
        green_delta = np.ma.masked_array(temp_array, self.green_mask_whole)-green_composite
        blue_delta = np.ma.masked_array(temp_array, self.blue_mask_whole)-blue_composite
        red_delta = np.ma.masked_array(temp_array, self.red_mask_whole)-red_composite

        n=n+1


        green_composite=green_composite+green_delta/n
        blue_composite=blue_composite+blue_delta/n
        red_composite=red_composite+red_delta/n

   return np.concatenate((green_composite, blue_composite, red_composite))

np.concatenate不起作用,因为阵列的形状是(7392,3280)而不是原始图像尺寸:(2464,3280)。 zip无法正常工作,因为它会返回一个zip对象,之后我必须对其进行绘制。

编辑:

为了清楚起见,蒙版数组与原始数组的形状相同,空白值( - ,不确定在dtype上)代替不是正确颜色的像素中的实际数字。我需要做的是弄清楚如何将它们连接在一起,同时用其他蒙版数组中的值替换空值以创建实际的RGGB图像。

0 个答案:

没有答案