そのため、2次元配列として保存された画像の平均ピクセル値から画像を作成しようとしています。ダーク フレームの場合、これはかなり簡単でした。移動平均を作成するだけで済みました。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元の画像サイズ (2464, 3280) ではなく、配列の形状が (7392, 3280) であるため、機能しません。zipzip オブジェクトを返すため機能しませんでした。後でこれをプロットする必要があります。
編集:
明確にするために、マスクされた配列は元の配列と同じ形状であり、正しい色ではないピクセルの実際の数値の代わりに空白の値 (--、dtype では不明) があります。私がする必要があるのは、実際の RGGB イメージを作成するために空の値を他のマスクされた配列の値に置き換えながら、それらを結合する方法を理解することです。