Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Βελτιστοποίηση εικόνας
FREEMAT Βελτιστοποίηση εικόνας
2
Δημιουργία ιστογράμματος
Μεταφέρετε μια ασπρόμαυρη εικόνα στη freemat. H εικόνα θα πρέπει να είναι τετράγωνη (πχ 500x500 pixel) Μεταφέρετε την εικόνα σε ένα παράθυρο 1 Δημιουργία ιστογράμματος το ιστόγραμμα ενός πίνακα – εικόνα διαστάσεων nx και ny είναι μία συνάρτηση h(k) που ισούται με τον αριθμό των στοιχείων – pixels που έχουν την τιμή k.
3
Μετατρέψτε τα στοιχεία του πίνακα σε πραγματικούς αριθμούς
Δώστε στο πίνακα [m,n] το μέγεθος του πίνακα της εικόνας Για τον υπολογισμό του ιστογράμματος h(i) θα πρέπει να χρησιμοποιήσετε μια επανάληψη for στο μέγεθος τιμών των χρωμάτων το ιστόγραμμα ενός πίνακα – εικόνα διαστάσεων nx και ny είναι μία συνάρτηση h(i) που ισούται με τον αριθμό των στοιχείων – pixels που έχουν την τιμή i. Αν η εικόνα είναι σχετικώς σκοτεινή τότε το ιστόγραμμά της συγκεντρώνεται αριστερά. Αντίθετα, αν είναι σχετικώς φωτεινή το ιστόγραμμά της συγκεντρώνεται δεξιά. Η κανονικοποιημένη μορφή της συνάρτησης προκύπτει από την διαίρεση των τιμών h(k) με το πλήθος των στοιχείων του πίνακα nx ∙ny.
4
Βελτίωση εικόνας με εξισορρόπηση ιστογράμματος
Με την τεχνική αυτή επιτυγχάνεται η αύξηση των χρωματικών αντιθέσεων (contrast) σε εικόνες οι οποίες προήλθαν από λήψη σε κακές συνθήκες φωτισμού. A=imread(file, format) : διαβάζει από ένα αρχείο εικόνας τις τιμές φωτεινότητας και τις αποδίδει σε έναν πίνακα A. Παίρνει δυο ορίσματα, το όνομα του αρχείου εικόνας (file) και τον τύπο του αρχείου (format). figure(num) : δημιουργία νέου παραθύρου γραφικών, αν κληθεί χωρίς όρισμα ή με όρισμα έναν ακέραιο που δε χρησιμοποιήθηκε ως τώρα. Αν κληθεί με όρισμα τον αριθμό παραθύρου που υπάρχει ήδη, κάνει ενεργό το παράθυρο αυτό. imshow(image, [low high]) : εμφάνιση εικόνας στο ενεργό παράθυρο γραφικών (ή σε νέο, αν δεν υπάρχει). Το πρώτο όρισμα είναι ο πίνακας που περιέχει τις τιμές φωτεινότητας. Το δεύτερο, αν υπάρχει, είναι ένα διάνυσμα δύο τιμών, όπου η πρώτη είναι η ελάχιστη τιμή φωτεινότητας (που απεικονίζεται ως μαύρο) και η δεύτερη είναι η μέγιστη (που απεικονίζεται ως λευκό). [h, w]=size(A) : επιστρέφει τις διαστάσεις του πίνακα Α που παίρνει ως όρισμα (όπου h το ύψος ή πλήθος γραμμών και w το πλάτος ή πλήθος στηλών). Β=double(Α) : μετατρέπει τα στοιχεία του πίνακα Α σε κινητής υποδιαστολής διπλής ακρίβειας (κι ενδεχομένως τα αναθέτει σε νέο πίνακα).
5
Ορισμοί h=hist(Υ, Χ) : υπολογισμός ιστογράμματος του διανύσματος Υ (αν είναι πίνακας, δουλεύει κατά στήλες) στις τιμές που καθορίζει το διάνυσμα Χ (π.χ. [0:255]), και ανάθεσή του στο διάνυσμα h. Ένας άλλος τρόπος υπολογισμού του ιστογράμματος χωρίς τη χρήση της έτοιμης συνάρτηση hist είναι με το ακόλουθο loop: for i=1:256 h(i)=sum(sum(A= =i -1)); end όπου η συνάρτηση sum υπολογίζει το άθροισμα των στοιχείων του διανύσματος που έχει ως όρισμα (αν είναι πίνακας υπολογίζει το άθροισμα ανά στήλη και παράγει στην έξοδο ένα διάνυσμα-γραμμή). Ο έλεγχος Α = = i-1 κάνει σύγκριση κάθε τιμής του πίνακα Α με την τιμή i-1 κι επιστρέφει έναν πίνακα ίδιων διαστάσεων με τον Α που περιέχει 1 στα σημεία όπου ισχύει η συνθήκη και 0 όπου δεν ισχύει. plot(Υ) : σχεδιάζει ένα διάγραμμα των τιμών του διανύσματος Υ ως προς τους δείκτες του.
6
Αφαίρεση και αλλαγή χρωμάτων
A=imread('peppers.bmp'); figure(1); image(A); %afairesh kokkinou %A(: , : ,1) = 0; %figure(2); %image(A); %afairesh prasinou %A(: , : ,2) = 0; %figure(3); A=imread('peppers.bmp'); figure(1); image(A); %allagh posostou kokkinou %A(: , : ,1) = 150; %figure(2); %image(A); %allagh posostou prasinou %A(: , : ,2) = 70; %figure(3);
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.