Is it possible to reconstruct an image from the number of pixel counts and bins information?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Gobert
am 20 Jan. 2022
Kommentiert: Gobert
am 21 Jan. 2022
Happy New Year and I need your help!
I have the following imhist function that yields the number of pixel counts and bin locations.
[counts,binLocations] = imhist(I)
Is it possible to reconstruct a "new" image using the number of "new pixel" counts and "same" bins information? If yes - can you please suggest how?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 20 Jan. 2022
I = imread('pout.tif');
imshow(I)
I1 = reshape(sort(I), size(I));
imshow(I1)
[c,b] = imhist(I);
[c1,b1] = imhist(I1);
all(c == c1)
all(b == b1)
Two different images, exactly the same counts and bin values.
It follows that knowing the counts and bin locations is not enough to recreate the image.
0 Kommentare
Weitere Antworten (1)
Matt J
am 20 Jan. 2022
Bearbeitet: Matt J
am 20 Jan. 2022
As Walter has shown, it is not an invertible mapping, however, if you use histcounts() instead, there is enough information for a coarse inversion:
I = double(imread('pout.tif'));
[counts,binLocations,label]=histcounts(I(:),4);
vals=movmean(binLocations,2);
Irecon=reshape(vals(label), size(I)); %reconstructed
montage({I/255,Irecon/255})
Siehe auch
Kategorien
Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!