def test_with_location_of_image_as_argument(self): messages_to_hide = ["Hello World!"] for message in messages_to_hide: outputBytes = io.BytesIO() bytes_image = lsbset.hide( "./tests/sample-files/20160505T130442.jpg", message, generators.identity()) bytes_image.save(outputBytes, "PNG") outputBytes.seek(0) clear_message = lsbset.reveal(outputBytes, generators.identity()) self.assertEqual(message, clear_message)
def test_with_too_long_message(self): with open("./tests/sample-files/lorem_ipsum.txt") as f: message = f.read() message += message * 2 with self.assertRaises(Exception): lsbset.hide("./tests/sample-files/Lenna.png", message, generators.identity())
def test_with_too_long_message(self): with open("./tests/sample-files/lorem_ipsum.txt") as f: message = f.read() message += message*2 with self.assertRaises(Exception): lsbset.hide("./tests/sample-files/Lenna.png", message, generators.identity())
def test_identity(self): """Test the identity generator. """ self.assertEqual( tuple(itertools.islice(generators.identity(), 15)), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), )
def test_hide_and_reveal_with_bad_generator(self): message_to_hide = "Hello World!" secret = lsbset.hide("./tests/sample-files/Lenna.png", message_to_hide, generators.eratosthenes()) secret.save("./image.png") with self.assertRaises(IndexError): clear_message = lsbset.reveal("./image.png", generators.identity())
path_output = '{}output'.format(path) fname = 'cat.2.png' z = eda.JointImageAnalyser(path_cover + fname, path_stego + fname) # plot cover and stego images side by side. z.plot_images() # plot difference between cover and stego images. z.plot_difference() # plot colour channels of cover and stego images. z.plot_rgb_components() # Reveal and show hidden image z.reveal_image(generators.identity(), show=True) # Plot wavelet decomposition for a colour channel eda.plot_wavelet_decomposition(z.I[:, :, 0]) # generate set of histogram/kde plots eda.generate_feature_distplots( filepath_train='{}data/features/train_lenna_identity.csv'.format(path), path_output=path_output, normalise=False ) # generate set of histograms eda.generate_feature_histograms( filepath_train='{}data/features/train_lenna_identity.csv'.format(path), path_output=path_output,