Commit 873557f901b56f2451ff498774680aad98e39f52

Authored by Chunk
1 parent 09268ae3
Exists in master

staged.

mjpeg/__init__.py
... ... @@ -56,7 +56,7 @@ class Jpeg(Jsteg):
56 56 Jsteg.__init__(self, file, **kw)
57 57 self.verbosity = verbosity
58 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 60 if key != None:
61 61 self.key = key
62 62 elif rndkey:
... ... @@ -310,7 +310,8 @@ class Jpeg(Jsteg):
310 310 if sum0 != None:
311 311 if sum1 != None:
312 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 315 hashtable = bi_hash
315 316 sumtable = bi_sum
316 317 else:
... ...
mjpeg/__init__.pyc
No preview for this file type
msteg/__init__.py
... ... @@ -72,12 +72,14 @@ class StegBase(object):
72 72 self.cov_jpeg.setCoefBlocks(cov_data)
73 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 84 except TypeError as e:
83 85 raise e
... ... @@ -140,27 +142,37 @@ class StegBase(object):
140 142  
141 143 def _display_stats(self, verb, cov_size, emb_size, duration):
142 144 print(
143   - "%dB %s in %.2fs (%.2f kBps), embedding ratio: %.4f" %
  145 + "%dB %s in %.2fs (%.2f kBps), embedding ratio: %.4f bpc" %
144 146 (emb_size, verb, duration, (emb_size / duration) / 1000.,
145 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 155 def set_key(self, key):
149 156 assert key != None
150 157 self.key = key
151 158  
  159 +
152 160 def get_key(self):
153 161 return self.key
154 162  
  163 +
155 164 # dummy functions to please pylint
156 165 def _raw_embed(self, cov_data, hid_data):
157 166 pass
158 167  
  168 +
159 169 def _raw_extract(self, steg_data, num_bits):
160 170 pass
161 171  
  172 +
162 173 def _dummy_embed_hook(self, cov_data, hid_data):
163 174 pass
164 175  
  176 +
165 177 def _dummy_extract_hook(self, steg_data, num_bits):
166 178 pass
... ...
msteg/__init__.pyc
No preview for this file type
msteg/steganography/F4.py
... ... @@ -46,12 +46,15 @@ class F4(StegBase):
46 46 self.cov_jpeg.setsignal(cov_data, channel='Y')
47 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 59 except TypeError as e:
57 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 96 self.cov_jpeg.setsignal(cov_data, channel='Y')
97 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 110 except TypeError as e:
107 111 raise e
... ...
msteg/steganography/F5.pyc
No preview for this file type