denoising.py/code/utility/Color_Noise.py

40 lines
1.3 KiB
Python

# ~*~ encoding: utf-8 ~*~ #
import random
import time
class Color_Noise:
# Applique le bruitage de type "coloratif" sur la matrice de pixels #
#########################################################################
# @param pixelMap Matrice de pixel à traiter (modifier)
# @param seuil pourcentage de l'image à bruiter (50% <=> 1 pixel sur 2 est bruité)
#
def set(self, pixelMap, seuil=10):
seuil = float(seuil);
while seuil >= 1:
seuil /= 100.0
nbPixel = int( len(pixelMap) * len(pixelMap[0]) * seuil )
for bruit in range(0, nbPixel ):
x = random.randint(0, len(pixelMap[0]) - 1 )
y = random.randint(0, len(pixelMap) - 1 )
pixelMap[y][x].setRGB(
pixelMap[y][x].r + random.randint(0, (255-pixelMap[y][x].r)/4),
pixelMap[y][x].g + random.randint(0, (255-pixelMap[y][x].g)/4),
pixelMap[y][x].b + random.randint(0, (255-pixelMap[y][x].b)/4)
);
# Applique le débruitage de type "coloratif" sur la matrice de pixels #
###########################################################################
# @param pixelMap Matrice de pixel à traiter (modifier)
# @param seuil Seuil à partir duquel on doit traiter les pixels (écart entre la moyenne des pixels avoisinant et le pixel concerné)
#
def unset(self, pixelMap, seuil=5):
pass