can we convert the histogram back to the original image????

2 views (last 30 days)
suppose i have calculated a histogram of a gray image. now i want my original image back through the histogram. can this be possible?

Answers (1)

Steven Lord
Steven Lord on 25 Jun 2015
Not in general, no.
A = randi([0 1], 10);
B = A(randperm(10), :);
C = rot90(A, 1);
A, B, and C each have exactly the same number of 0's and 1's, but each has their 1's in different locations. I've only generated three such images; there are many more.
% Show image A
subplot(2, 2, 1);
imagesc(A)
axis square
% Show image B
subplot(2, 2, 2);
imagesc(B)
axis square
% Show image C
subplot(2, 2, 3);
imagesc(C)
axis square
% Show graphs in black and white
colormap(gray(2))
The histogram of each of those images would be the same.
subplot(2, 2, 4)
histogram(A)
Which image is the "original" image for this histogram?
  2 Comments
Walter Roberson
Walter Roberson on 26 Jun 2015
I took a vector of binary values each 0 or 1. I did a histogram of it and the result was that there was 15 0's and 9 1's. Can you convert that histogram back to the original vector?
Answer: No. There are 1307504 different binary vectors of length 24 that have exactly that distribution of 0's and 1's. You can't know which the original was.
I am going to go out on a limb here and speculate that what you really are trying to do is Histogram Equalization.

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!