Commit 873557f901b56f2451ff498774680aad98e39f52
1 parent
09268ae3
Exists in
master
staged.
Showing
8 changed files
with
40 additions
and
20 deletions
Show diff stats
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