diff --git a/code/Noise.py b/code/Noise.py index 2a0a85f..3d2fd0c 100644 --- a/code/Noise.py +++ b/code/Noise.py @@ -6,7 +6,7 @@ class Noise: # ajout de bruit "poivre & sel" avec un seuil (% de l'image bruité) - def SaltAndPepper_set(self, seuil, pixelMap): + def SaltAndPepper_set(self, pixelMap, seuil=10): seuil = float(seuil); while seuil >= 1: @@ -25,12 +25,17 @@ class Noise: # enlève le bruit "poivre et sel" - def SaltAndPepper_unset(self, pixelMap): + def SaltAndPepper_unset(self, pixelMap, seuil=10, borne=20): width = len( pixelMap[0] ) height = len( pixelMap ) - borne = 50 - seuil = int( .1 * 256 ); + while seuil >= 1: + seuil /= 100 + + while borne > 100: + borne /= 100 + + seuil = int( seuil * 256 ); for y in range(0, len(pixelMap)): for x in range(0, len(pixelMap[y])): diff --git a/code/SaltAndPepper/10_pct.bmp b/code/SaltAndPepper/10_pct.bmp deleted file mode 100644 index e69de29..0000000 diff --git a/code/SaltAndPepper/10_unset.bmp b/code/SaltAndPepper/10_unset.bmp deleted file mode 100644 index 5be1436..0000000 --- a/code/SaltAndPepper/10_unset.bmp +++ /dev/null @@ -1 +0,0 @@ -Mauvais format (erreur de taille) diff --git a/code/SaltAndPepper/20_pct.bmp b/code/SaltAndPepper/20_pct.bmp deleted file mode 100644 index 5395c01..0000000 Binary files a/code/SaltAndPepper/20_pct.bmp and /dev/null differ diff --git a/code/SaltAndPepper/30_pct.bmp b/code/SaltAndPepper/30_pct.bmp deleted file mode 100644 index 1ae08d7..0000000 Binary files a/code/SaltAndPepper/30_pct.bmp and /dev/null differ diff --git a/code/bmp.py b/code/bmp.py index 215c402..07819e9 100644 --- a/code/bmp.py +++ b/code/bmp.py @@ -9,7 +9,7 @@ from Noise import * import random import sys import time - +from copy import deepcopy class Timer: def __init__(self): @@ -221,45 +221,19 @@ def calSaltAndPepper(): img = BMPFile(); # Instanciation du BMPFile noise = Noise(); # Instanciation du NoiseObject - - - # Parsing - print "Parsing file -",; t.reset(); img.parse( binFile ); - print "Done in %s s" % (t.get()) + for seuil in range(0,100,10): + for borne in range(0,45,5): + newBMPFile = deepcopy(img) - print "Creating Salt&Pepper -",; t.reset(); - noise.SaltAndPepper_set(50, img.content.map) - print "Done in %s s" % (t.get()) + print "SaltAndPepper (%s) (%s) -" % (seuil, borne),; t.reset(); + noise.SaltAndPepper_unset(newBMPFile.content.map, seuil=seuil, borne=borne) + newBMPFile.unparse(newBpp=8) + newBMPFile.write( "SaltAndPepper/%s_%s.bmp" % (seuil, borne) ) + print "Done in %s s" % (t.get()) - # Unparsing - print "Unparsing file -",; t.reset(); - img.unparse(newBpp=8) - print "Done in %s s" % (t.get()) - - # image to stdout - print "Writing file -",; t.reset(); - img.write( "SaltAndPepper.bmp" ) - print "Done in %s s" % (t.get()) - - - - - print "Removing Salt&Pepper -",; t.reset(); - noise.SaltAndPepper_unset(img.content.map) - print "Done in %s s" % (t.get()) - - # Unparsing - print "Unparsing file -",; t.reset(); - img.unparse(newBpp=8) - print "Done in %s s" % (t.get()) - - # image to stdout - print "Writing file -",; t.reset(); - img.write( sys.argv[2] ) - print "Done in %s s" % (t.get()) print "\nExecution Time: %s seconds" % total.get()