Commit 873557f901b56f2451ff498774680aad98e39f52

Authored by Chunk
1 parent 09268ae3
Exists in master

staged.

mjpeg/__init__.py
@@ -56,7 +56,7 @@ class Jpeg(Jsteg): @@ -56,7 +56,7 @@ class Jpeg(Jsteg):
56 Jsteg.__init__(self, file, **kw) 56 Jsteg.__init__(self, file, **kw)
57 self.verbosity = verbosity 57 self.verbosity = verbosity
58 if verbosity > 0: 58 if verbosity > 0:
59 - print "[Jpeg.__init__] Image size %ix%i" % (self.image_width, self.image_height) 59 + print "[Jpeg] %s (%ix%i)" % (self.filename, self.image_width, self.image_height)
60 if key != None: 60 if key != None:
61 self.key = key 61 self.key = key
62 elif rndkey: 62 elif rndkey:
@@ -310,7 +310,8 @@ class Jpeg(Jsteg): @@ -310,7 +310,8 @@ class Jpeg(Jsteg):
310 if sum0 != None: 310 if sum0 != None:
311 if sum1 != None: 311 if sum1 != None:
312 sum = sum0 + sum1 312 sum = sum0 + sum1
313 - qvalue = self.quant_tables[0].ravel()[2] + self.quant_tables[0].ravel()[53] + self.quant_tables[1].ravel()[0] + self.quant_tables[1].ravel()[-1] 313 + qvalue = self.quant_tables[0].ravel()[2] + self.quant_tables[0].ravel()[53] + \
  314 + self.quant_tables[1].ravel()[0] + self.quant_tables[1].ravel()[-1]
314 hashtable = bi_hash 315 hashtable = bi_hash
315 sumtable = bi_sum 316 sumtable = bi_sum
316 else: 317 else:
mjpeg/__init__.pyc
No preview for this file type
msteg/__init__.py
@@ -72,12 +72,14 @@ class StegBase(object): @@ -72,12 +72,14 @@ class StegBase(object):
72 self.cov_jpeg.setCoefBlocks(cov_data) 72 self.cov_jpeg.setCoefBlocks(cov_data)
73 self.cov_jpeg.Jwrite(tgt_stego) 73 self.cov_jpeg.Jwrite(tgt_stego)
74 74
75 - # size_cov = os.path.getsize(tgt_stego)  
76 - size_cov = np.size(cov_data) / 8  
77 - size_embedded = np.size(hid_data) 75 + cov_bits = np.sum(cov_data != 0) - cov_data.size / 64
  76 + self._display_rate(cov_bits, bits_cnt)
78 77
79 - self._display_stats("embedded", size_cov, size_embedded,  
80 - time.time() - self.t0) 78 + # # size_cov = os.path.getsize(tgt_stego)
  79 + # size_cov = np.size(cov_data) / 8
  80 + # size_embedded = np.size(hid_data)
  81 + # self._display_stats("embedded", size_cov, size_embedded,
  82 + # time.time() - self.t0)
81 83
82 except TypeError as e: 84 except TypeError as e:
83 raise e 85 raise e
@@ -140,27 +142,37 @@ class StegBase(object): @@ -140,27 +142,37 @@ class StegBase(object):
140 142
141 def _display_stats(self, verb, cov_size, emb_size, duration): 143 def _display_stats(self, verb, cov_size, emb_size, duration):
142 print( 144 print(
143 - "%dB %s in %.2fs (%.2f kBps), embedding ratio: %.4f" % 145 + "%dB %s in %.2fs (%.2f kBps), embedding ratio: %.4f bpc" %
144 (emb_size, verb, duration, (emb_size / duration) / 1000., 146 (emb_size, verb, duration, (emb_size / duration) / 1000.,
145 float(emb_size) / cov_size)) 147 float(emb_size) / cov_size))
146 148
147 - # set & get 149 + def _display_rate(self, cov_bits, emb_bits):
  150 + print "embedding rate: %.4f bpc" % (float(emb_bits) / cov_bits)
  151 +
  152 + # set & get
  153 +
  154 +
148 def set_key(self, key): 155 def set_key(self, key):
149 assert key != None 156 assert key != None
150 self.key = key 157 self.key = key
151 158
  159 +
152 def get_key(self): 160 def get_key(self):
153 return self.key 161 return self.key
154 162
  163 +
155 # dummy functions to please pylint 164 # dummy functions to please pylint
156 def _raw_embed(self, cov_data, hid_data): 165 def _raw_embed(self, cov_data, hid_data):
157 pass 166 pass
158 167
  168 +
159 def _raw_extract(self, steg_data, num_bits): 169 def _raw_extract(self, steg_data, num_bits):
160 pass 170 pass
161 171
  172 +
162 def _dummy_embed_hook(self, cov_data, hid_data): 173 def _dummy_embed_hook(self, cov_data, hid_data):
163 pass 174 pass
164 175
  176 +
165 def _dummy_extract_hook(self, steg_data, num_bits): 177 def _dummy_extract_hook(self, steg_data, num_bits):
166 pass 178 pass
msteg/__init__.pyc
No preview for this file type
msteg/steganography/F4.py
@@ -46,12 +46,15 @@ class F4(StegBase): @@ -46,12 +46,15 @@ class F4(StegBase):
46 self.cov_jpeg.setsignal(cov_data, channel='Y') 46 self.cov_jpeg.setsignal(cov_data, channel='Y')
47 self.cov_jpeg.Jwrite(tgt_stego) 47 self.cov_jpeg.Jwrite(tgt_stego)
48 48
49 - # size_cov = os.path.getsize(tgt_stego)  
50 - size_cov = np.size(cov_data) / 8  
51 - size_embedded = np.size(hid_data)  
52 -  
53 - self._display_stats("embedded", size_cov, size_embedded,  
54 - time.time() - self.t0) 49 + cov_bits = np.sum(cov_data != 0) - cov_data.size / 64
  50 + self._display_rate(cov_bits, bits_cnt)
  51 +
  52 + # # size_cov = os.path.getsize(tgt_stego)
  53 + # size_cov = np.size(cov_data) / 8
  54 + # size_embedded = np.size(hid_data)
  55 + #
  56 + # self._display_stats("embedded", size_cov, size_embedded,
  57 + # time.time() - self.t0)
55 58
56 except TypeError as e: 59 except TypeError as e:
57 raise e 60 raise e
msteg/steganography/F4.pyc
No preview for this file type
msteg/steganography/F5.py
@@ -96,12 +96,16 @@ class F5(StegBase): @@ -96,12 +96,16 @@ class F5(StegBase):
96 self.cov_jpeg.setsignal(cov_data, channel='Y') 96 self.cov_jpeg.setsignal(cov_data, channel='Y')
97 self.cov_jpeg.Jwrite(tgt_stego) 97 self.cov_jpeg.Jwrite(tgt_stego)
98 98
99 - # size_cov = os.path.getsize(tgt_stego)  
100 - size_cov = np.size(cov_data) / 8  
101 - size_embedded = np.size(hid_data) 99 + cov_bits = np.sum(cov_data != 0) - cov_data.size / 64
  100 + self._display_rate(cov_bits, bits_cnt)
102 101
103 - self._display_stats("embedded", size_cov, size_embedded,  
104 - time.time() - self.t0) 102 +
  103 + # # size_cov = os.path.getsize(tgt_stego)
  104 + # size_cov = np.size(cov_data) / 8
  105 + # size_embedded = np.size(hid_data)
  106 + #
  107 + # self._display_stats("embedded", size_cov, size_embedded,
  108 + # time.time() - self.t0)
105 109
106 except TypeError as e: 110 except TypeError as e:
107 raise e 111 raise e
msteg/steganography/F5.pyc
No preview for this file type