X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/10e7b98790a2c43964f49cea7e31557fb58015e6..0034914f915f708b3a77d94538f21c080e474895:/stc/exp/raphus/sobel555_for_ensemble.py diff --git a/stc/exp/raphus/sobel555_for_ensemble.py b/stc/exp/raphus/sobel555_for_ensemble.py index 1a7f7c6..89e0cbd 100644 --- a/stc/exp/raphus/sobel555_for_ensemble.py +++ b/stc/exp/raphus/sobel555_for_ensemble.py @@ -12,6 +12,10 @@ from bbs import * infinity = 1000000000 +M=18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959 +X=18532395500947174450709383384936679868383424444311 + + @@ -377,8 +381,8 @@ def compute_list_bit_to_change(threshold,processed): def compute_filter_canny(level,image,MsgLen): bbs = BlumBlumShub(); - bbs.setN(18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959) - bbs.setSeed(18532395500947174450709383384936679868383424444311) + bbs.setN(M) + bbs.setSeed(X) level2=level.copy() level2= array(level2.getdata()).flatten() @@ -426,7 +430,7 @@ def compute_filter_canny(level,image,MsgLen): List7=set(compute_list_bit_to_change(100,processed)) #nb_bit_embedded=(512*512/10)+40 - nb_bit_embedded=max(2*MsgLen,int(len(List3)/MsgLen)*MsgLen)+40 + nb_bit_embedded=max(2*MsgLen,int(len(List3)/MsgLen)*MsgLen) print "nb_bit_embedded",nb_bit_embedded AvailablePixel3=List3 AvailablePixel5=AvailablePixel3.union(List5) @@ -454,9 +458,9 @@ def compute_filter_canny(level,image,MsgLen): sub = range(len(level2)) - print "avail P3",len(AvailablePixel3) - print "avail P5",len(AvailablePixel5) - print "avail P7",len(AvailablePixel7) + #print "avail P3",len(AvailablePixel3) + #print "avail P5",len(AvailablePixel5) + #print "avail P7",len(AvailablePixel7) Weight=[0 for _ in sub] @@ -473,15 +477,9 @@ def compute_filter_canny(level,image,MsgLen): Weight[l]=1000 l+=1 - - - List_bit_to_change=sub - - - return [sub,Weight] @@ -495,63 +493,39 @@ def compute_filter_canny(level,image,MsgLen): def mystego(filein, fileout): + bit_to_read = 1 + global M,X + bbs = BlumBlumShub(); + bbs.setN(M) + bbs.setSeed(X) + dd = im.open(filein) dd = dd.convert('RGB') red, green, blue = dd.split() level=red.copy() + """ + message="Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete voila c'est la fin blablabla:-)" message="Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela." - - message=message[0:len(message)/1] + + + leng_msg=len(message) + print "taille du message en caracteres",leng_msg message=message+((leng_msg+7)/8*8-leng_msg)*" " leng_msg=len(message) - leng='%08d'%len(message) - - - - + len_leng=len(leng) leng_error=int(len_leng) leng_cor=leng + List_pack=a2b_list(leng_cor) - - - - - - [List_bit_to_change,Weight]=compute_filter_canny(level,dd,leng_msg) - level= array(level.getdata()).flatten() - - - bit_to_read=1 - - - - - M=18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959 - # M clef - X=18532395500947174450709383384936679868383424444311 - # X clef - - - - - l=0 - - - - List_random=[] - while len(List_random)= 2 index = min(int(alpha),9) H_hat2 = { @@ -679,6 +671,7 @@ def mystego(filein, fileout): # print conv_list_bit(''.join([`MessageDecoded2[i]` for i in xrange(leng_error*8)])) # print int(conv_list_bit(''.join([`MessageDecoded2[i]` for i in xrange(leng_error*8)]))) + print "MessageDecoded2",MessageDecoded2 print conv_list_bit(''.join([`MessageDecoded2[i]` for i in xrange(len(Message2))])) @@ -708,35 +701,37 @@ def mystego(filein, fileout): print decoded_msg#[0:20] print len(List_bit_to_change) list_nb_bit.append(filein) - list_nb_bit.append(len(List_bit_to_change)) - + list_nb_bit.append(len(List_bit_to_change2)) +""" #path_cover = '/localhome/couturie/ensemble/cover_bad_laplace/' -path_stego = '/localhome/couturie/ensemble/BossBase-1.0-canny_new/' -path_cover = '/localhome/couturie/ensemble/BossBase-1.0-cover/' +path_stego = '/home/couchot/rech/CCG12/canny/stc/exp/raphus/stego/' +path_cover = '/home/couchot/rech/BCG10/Oxford11/experiments/images/' #path_stego = '/tmp/' #path_stego = '/home/couturie/BossBase-1.0-canny/' #listing = os.listdir(path_cover) + list_nb_bit=[] l=0 -mystego(argv[1],argv[2]) + # entree sortie -raise SystemExit + +listing = [957, 108, 106, 29, 431, 924, 262, 477, 346, 809] for infile in listing: # if l<10: - if infile[0]==argv[1]: - print "current file is: " + infile, path_stego+infile - mystego(path_cover+infile,path_stego+infile) + fi = path_cover+str(infile)+'.png' + fo = path_stego+str(infile)+'.png' + mystego(fi,fo) l+=1 #f = open('histogram_boss_canny_100255', 'w') #f = open('histogram', 'w') #for item in list_nb_bit: -# f.write("%s\n" % item) +#f.write("%s\n" % item)