Message Hiding Inside Image Using Image Processing
- Arshit Jolapara
- Azim Baldiwala
PixelCrypt provides two methods for hiding messages inside images: lossy and lossless encoding and decoding.
- Method: Uses the Least Significant Bit (LSB) technique to hide messages within the image's pixels.
- Process: Converts the message into bits and embeds them in the image’s pixel RGB values. End delimiters mark the end of the message.
- Advantages:
- Fast
- Suitable for small messages
- Easy to implement
- Disadvantages:
- Noticeable image changes with longer messages
- Method: Similar to lossy, but hides message bits in randomly selected pixels based on a user-provided key.
- Process: Generates a random number using a key for encoding and requires the same key for decoding.
- Advantages:
- Preserves image quality
- Requires a key for decoding
- Disadvantages:
- More complex to implement
- Python 3.5 or later
- Flask
- Pillow
- Python-OpenCV
- Numpy
- app.py: Backend file for Flask, contains all web routes.
- hide_lossy.py: Implements the lossy message hiding method.
- hide_lossless.py: Implements the lossless message hiding method.
- templates/: Directory containing HTML files for the GUI.
- static/: Directory with server data (user images, GUI dependencies).
- Sample_images/: Contains sample image dataset.
Method 1: Using Flask GUI
- Run
app.py. - Open http://localhost:5000 in a web browser.
Method 2: Using Console
- Open Command Prompt.
- Execute
hide_lossy.pyorhide_lossless.pyfor console-based applications.