Files
Robust_image_source_identif…/datasets/raise/merge_with_same_color_scale_single_color_channel_images_according_to_bayer_filter.py

40 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
from utils import Denoiser, Color, mergeSingleColorChannelImagesAccordingToBayerFilter
import matplotlib.pyplot as plt
import numpy as np
PREFIX = 'means/mean_rafael_230424_'
def getImageByColor(color, denoiser):
filePath = PREFIX + f'{denoiser}_{color}.npy'
image = np.load(filePath)
return image
multipleColorsImageDenoisers = {}
DENOISERS = [
Denoiser.BILATERAL,
Denoiser.WAVELET,
Denoiser.MEAN,
]
for denoiser in DENOISERS:
singleColorChannelImages = {color: getImageByColor(color, denoiser) for color in Color}
multipleColorsImage = mergeSingleColorChannelImagesAccordingToBayerFilter(singleColorChannelImages)
multipleColorsImageDenoisers[denoiser] = multipleColorsImage
plt.boxplot(list(map(np.ravel, multipleColorsImageDenoisers.values())), labels = DENOISERS)
plt.grid(True)
plt.show()
def getExtreme(extreme):
vExtreme = extreme(list(multipleColorsImageDenoisers.values()))
return vExtreme
vMin, vMax = [getExtreme(extreme) for extreme in [np.min, np.max]]
for denoiser in DENOISERS:
multipleColorsImage = multipleColorsImageDenoisers[denoiser]
plt.imsave(PREFIX + f'{denoiser}_multiple_colors.png', multipleColorsImage)