40 lines
1.2 KiB
Python
Executable File
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)
|