close all;
%---------------------------------------------------------------%
% !! Μην κάνετε clear all; Χρησιμοποιούνται τα δεδομένα από το  %
% !! πρόγραμα Procedure_interpolation_GIF.m                     %
%---------------------------------------------------------------%
% Εδώ κάνω μια ανάλυση για το πόσα pixel ξεπερνούν την τιμή 255 %
% ωστε να δώ αν οι απώλειες που θα έχω με τον 2ο τρόπο.         %
%---------------------------------------------------------------%

v = reshape(V, 1, []);

test(v, 'Αρχικό');


%Ελέγχω ξανά τα δεδομένα μετά την μετατροπή
vvv = uint8(v/max(v)*255);
test(vvv, 'Τρόπος 1 - Κανονικοποίηση και προσαρμογή στο [0, 255]');

%Ελέγχω ξανά τα δεδομένα μετά την μετατροπή
vv = uint8(v);
test(vv, 'Τρόπος 2 - Απευθείας μετατροπή');


function [avg, med, prcOverMax] = test(v, type)

    % Μεταφέρω το πρόβλημα σε μια διάσταση βάζοντας όλες τις τιμές
    % σε έναν πίνακα 1D

    vv = reshape(v, 1, []);
    % Βρίσκω το μ.ο. και τη διάμεσο των τιμών:
    med = median(vv);
    avg = mean(vv);
    % Βρίσκω το ποσοστό των τιμών >255:
    excVal=sum(vv>255);
    prcOverMax=excVal/(120*120*120)*100;


    fprintf('\n\nΔείγμα: %s \nΜέση τιμή: %3.2f \nΔιάμεσος: %d \nΠοσοστό τιμών πάνω από 255: %3.2f %% \n\n ', type, avg, med, prcOverMax)

    % Αναπαριστώ τις τιμές σε ένα ιστόγραμμα.
    % Κάνω ξεχωριστά τις τιμές στο διάστημα [0, 255], κι έπειτα
    % αν υπάρχουν, κάνω το ιστόγραμμα των τιμών >255.
    binranges = 0:255;
    [bincounts] = histc(vv,binranges);
    figure;
    bar(binranges,bincounts,'histc');
    title(['Δείγμα:' type ]);
    legend(['Τιμές από 0 έως 255']);

    if excVal>0
        % Ιστόγραμμα για τις τιμές που ξεπερνούν το 255 εάν υπάρχουν
        binranges = 255:max(vv);
        [bincounts] = histc(vv,binranges);
        figure;
        bar(binranges,bincounts,'histc');
        title(['Δείγμα: ' type ', Τιμές >255']);
    end
end

Δείγμα: Αρχικό 
Μέση τιμή: 94.24 
Διάμεσος: 66 
Ποσοστό τιμών πάνω από 255: 2.42 % 

 

Δείγμα: Τρόπος 1 - Κανονικοποίηση και προσαρμογή στο [0, 255] 
Μέση τιμή: 53.42 
Διάμεσος: 37 
Ποσοστό τιμών πάνω από 255: 0.00 % 

 

Δείγμα: Τρόπος 2 - Απευθείας μετατροπή 
Μέση τιμή: 93.74 
Διάμεσος: 66 
Ποσοστό τιμών πάνω από 255: 0.00 %