0

所以我试图从已保存为二维数组的图像的平均像素值中创建一个图像。对于深色框架,这相当容易,我只需要创建一个运行平均值。曝光时间有点复杂,因为我必须使用 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 图像。

4

0 回答 0