Home: https://github.com/Axisflow/AMTS-Steganography
Authors: Zheng-Jie Wang, Hung-Yu Chen, Tai-Han Kuo and Jason Lin
This is a project for the paper "Data Hiding in Color Images Using Adjacent Mean with Threshold Shifting."
| Cover Image | Stego Image |
|---|---|
![]() |
![]() |
| Original | Hide the whole README.md file with T = 5 and N = 1 |
There is complete example of embedding and extracting information in usage.ipynb.
Set C as the carrier, ED as the information to be embedded, T as the threshold, and N as the number of bits embedded at each embeddable position.
After settings section, we first encode the embedded information according to the size of N by encode() function. This function will output D and r, these are the encoded information and the remaining bits that cannot form a complete segment.
The embed_data() function requires four parameters: the carrier, the encoded information, the number of bits to embed at each embedding point, and the threshold. This function outputs two results: S, the image after embedding the information, and EP, the embedding endpoint.
Next, we use the embed_endpoint() function to embed EP into S.
Finally, the embed_info() function is used to embed important information such as N, r, and T into the first pixel of the image.
After these steps, we obtain the final image.
We first extract N, r and T by extract_info(S).
Next, we extract end point information by extract_endpoint(S).
Finally, the information embedded in the image can be extracted using extract_data(S, N, T, EP).
If you want to access the quality of the image after embedding the information, you can use the function PSNR() in the utility folder within the image_processor directory.
AMTS Stegnography is covered with MIT license.

