Extract a hidden message from image

1 回表示 (過去 30 日間)
Nemo
Nemo 2016 年 5 月 3 日
編集済み: Image Analyst 2020 年 10 月 19 日
I'm trying to write a matlab code to extract a hidden message from a given image. The hidden message is the first half of the odd part of this image. Whenever I run my code I get a black image. Any suggestions?
image=imread('hidden.png');
new=fliplr(image);
odd=(image-new)/2 ;
imshow(odd);
  3 件のコメント
Nemo
Nemo 2016 年 5 月 4 日
O.K I researched the problem more and I realized this: If the image is made up of 3 elements n for (width) x1[n] for height and x2[n] for color then the odd part means (x1[n]-x1[-n]/2) .
Nemo
Nemo 2016 年 5 月 4 日
編集済み: Nemo 2016 年 5 月 4 日
I actually realized something else the above code doesn't give a black image like I thought. It gives the hidden image for half of the width of the original picture. However the hidden image is too dark that I couldn't see it. So now I have two questions? 1.How to make the image brighter 2.How to read only half of the image width?

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2016 年 5 月 4 日
Make the image brighter by using [] in imshow():
imshow(odd, []);
  2 件のコメント
Nemo
Nemo 2016 年 5 月 4 日
I tried it. Still the same.
Image Analyst
Image Analyst 2016 年 5 月 5 日
I do this and the image shows up. granted, it's a bit dark but considering what you're doing to it, that's not unexpected.
rgbImage = imread('peppers.png');
subplot(2,2,1);
imshow(rgbImage);
fontSize = 18;
title('Original Image', 'FontSize', fontSize);
new = fliplr(rgbImage);
subplot(2,2,2);
imshow(new);
title('New Image', 'FontSize', fontSize);
odd = (rgbImage - new)/2 ;
subplot(2,2,3);
imshow(odd);
title('Odd Image', 'FontSize', fontSize);

サインインしてコメントする。

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2016 年 5 月 4 日
I am going to guess here:
wid = size(YourImage,2);
hwid = floor(wid/2);
odd = (double(YourImage(:,1:hwid)) - double( fliplr(YourImage(:,end-hwid+1:end)) )) / 2;
shifted_odd = odd - min(odd(:));
scaled_odd = shifted_odd ./ max(shifted_odd(:));
imshow(scaled_odd);
  2 件のコメント
Nemo
Nemo 2016 年 5 月 4 日
The above code displayed the correct dimension (half of the image width) but the picture is now black and white and I still can't see the hidden message which is a coloured image. But thank you anyway for trying to help
Walter Roberson
Walter Roberson 2016 年 5 月 4 日
You might need
imshow(scaled_odd, [])
Remember, though, that the hidden image cannot be a colored image, because colored images require 3 dimensional arrays but you are working with two dimensional arrays.

サインインしてコメントする。


Ashton M Spillman
Ashton M Spillman 2020 年 10 月 18 日
bro idk
  1 件のコメント
Image Analyst
Image Analyst 2020 年 10 月 19 日
編集済み: Image Analyst 2020 年 10 月 19 日
Then don't feel compelled to post an answer.
Anyway, I posted a full complete demo 4 and a half years ago for Nemo, which worked despite him not accepting any answer.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by