How to modify the image by applying AES?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Walter Roberson
2013-1-19
image() the resulting array. MATLAB does not care how you created the array that you image()
Jan
2013-1-19
编辑:Jan
2013-1-20
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 个评论
Walter Roberson
2013-1-20
There is a lossless JPEG mode. Which is not the same as 100% quality (which is not completely lossless.)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Encryption / Cryptography 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!