How to modify the image by applying AES?
6 views (last 30 days)
Show older comments
fid = fopen('C:\Users\Public\Pictures\Sample Pictures\Desert.jpg', 'r');
data = fread(fid, Inf, '*uint8');
fclose(fid);
After this I apply AES and get the values values. How to use those values and look at the modified image???
[EDIT - MERGED FROM DUPLICATE POST]:
But if I convert this array back to image using image() I do not get the original image.
Even after not performing any changes to the original array that I obtained using the above code...How to get back the original image??
3 Comments
Image Analyst
on 19 Jan 2013
It's not our place to tell you how to apply the AES encryption algorithm.
Answers (2)
Walter Roberson
on 19 Jan 2013
image() the resulting array. MATLAB does not care how you created the array that you image()
Jan
on 19 Jan 2013
Edited: Jan
on 20 Jan 2013
There are two different representations, when an image is stored as JPEG:
- The RGB image data, which can be obtained by imread,
- The binary JPEG file, which contains a header with meta data also. This is read by fread.
Which one do you want to encode? If you encode the 2nd one, the JPEG file, the result cannot be displayed, because the encoded header is meaningless and does not meet the JPEG format anymore. If you want to store the encoded RGB data as JPEG, be sure to use the mode 'lossless', because even for a 100% Quality rounding errors can change the pixel values slightly. [EDITED, thanks Walter]
So please decide at first, if you want to encode the file or the embedded image.
1 Comment
Walter Roberson
on 20 Jan 2013
There is a lossless JPEG mode. Which is not the same as 100% quality (which is not completely lossless.)
See Also
Categories
Find more on Encryption / Cryptography 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!