Hello, I want to use the gray wolf algorithm to hide images.
3 views (last 30 days)
Show older comments
Hello, I want to use the gray wolf algorithm to hide images. But unfortunately, I am not proficient in MATLAB to be able to use this algorithm to optimize images to achieve the desired psnr. Can anyone help?
0 Comments
Answers (2)
Sulaymon Eshkabilov
on 24 Dec 2022
Have you seen this published 3rd party toolbox of grey wolf optimizer: https://www.mathworks.com/matlabcentral/fileexchange/47258-grey-wolf-optimizer-toolbox
0 Comments
Walter Roberson
on 25 Dec 2022
The general steps would be:
- read in the image to hide and the cover image
- convert the image hide and cover image to binary (it would also common to quantize the image to hide, perhaps convert it to grayscale or even black and white)
- Using the discretized image and the cover image, optimize something using your favorite optimizer.
- Using information from the previous step, determine where to place bits in the cover image
- Using a technique such as LSB or DCT, embed the bits in the cover image. This might include embedding information in fixed positions about what hiding parameters were used
- make sure the modified image is appropriate scale and data type (the embedding process commonly produces double precision values in the range 0-ish to 255-ish rather than uint8)
- write out the modified image to a file
- Later, read in the modified image
- convert the modified image to binary
- using the information inserted into fixed positions, read out the information about where you hid the other bits
- using the information about where the other bits are, pull out the hidden bits from the modified image
- convert the hidden bits back into an image
- make sure the reconstructed image is the appropriate scale and data type
- write out the recovered image to a file (might not always be needed)
The problem you have is step 3, the "optimize something" step. You have not defined what you are optimizing -- and until you know what you are optimizing, there is no point in doing any of these steps.
There is no "natural" thing to optimize in this situation. There are a lot of things you could optimize -- which is about like saying that there are lot of different Rube Goldberg Machines that you could build. You could optimize the weights of a 768 degree polynomial to maximize the number of bits representing "purple" that get placed at locations that appear in the Fibonacci series. Would it be a good idea to do that? Probably not. Most of the things you could optimize with regards to hiding bits are probably not good ideas.
0 Comments
See Also
Categories
Find more on Image Segmentation and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!