Σχεδιασμός και υλοποίηση ενός έξυπνου παιχνιδιού για τη συναισθηματική
παρακολούθηση και το γονικό έλεγχο ενός παιδιού
37
2.3 Matlab
Η γλώσσα προγραμματισμού Matlab [8] άρχισε να αναπτύσσεται στα τέλη του
1970 από τον Cleve Moler, διευθυντή του τμήματος πληροφορικής του Πανεπιστημίου
του New Mexico. Ο Moler σχεδίασε τη συγκεκριμένη γλώσσα για να δώσει τη
δυνατότητα στους φοιτητές να έχουν πρόσβαση και να μπορούν να χρησιμοποιούν τις
βιβλιοθήκες LINPACK και EISPACK, βιβλιοθήκες γραμμένες στη γλώσσα
προγραμματισμού Fortran, χωρίς οι ίδιοι να χρειάζεται να μάθουν τη συγκεκριμένη
γλώσσα. Γρήγορα η φήμη της πλατφόρμας εξαπλώθηκε στα άλλα Πανεπιστήμια και
άρχισε να γνωρίζει μεγάλη απήχηση στην κοινότητα των εφαρμοσμένων μαθηματικών.
Το 1984 ο Moler σε συνεργασία με τον μηχανικό Jack Little ξαναέγραψαν τη γλώσσα
προγραμματισμού Matlab σε C και ίδρυσαν την εταιρία MathWorks, εταιρία που
δραστηριοποιείται γύρω από τα λογισμικά μαθηματικής υπολογιστικής. Το 2000, η
Matlab ξαναγράφτηκε για να μπορεί να χρησιμοποιεί το πλέον σύγχρονο σύνολο
βιβλιοθηκών για τον χειρισμό πινάκων.
Το περιβάλλον Matlab (matrix laboratory) αποτελεί ένα περιβάλλον αριθμητικής
υπολογιστικής που υποστηρίζει πολλαπλές προγραμματιστικές τεχνοτροπίες. Επιπλέον,
είναι μία τέταρτης γενιάς, κατοχυρωμένη γλώσσα προγραμματισμού που προσφέρει
χειρισμό πινάκων, γραφική απεικόνιση συναρτήσεων και δεδομένων, εφαρμογές
αλγορίθμων, δημιουργία διαφορετικών περιβαλλόντων για τους χρήστες καθώς και
διασύνδεση με άλλες γλώσσες προγραμματισμού όπως τη C, τη C++, τη C#, τη Java, τη
Fortran και την Python. Τα ενσωματωμένα γραφικά του περιβάλλοντος Matlab,
καθιστούν εύκολη την οπτικοποίηση και εξοικείωση με τα δεδομένα. Όλες οι παραπάνω
δυνατότητες έχουν δημιουργηθεί και ελεγχθεί αυστηρά για να λειτουργούν μαζί και
αποδοτικά. [9]
Πέρα από τα παραπάνω πλεονεκτήματα του περιβάλλοντος Matlab, αυτό
περιλαμβάνει ένα Σύστημα Εργαλείων Όρασης Υπολογιστή (Computer Vision System
Toolbox), το οποίο υπήρξε πολύ χρήσιμο για την παρούσα διπλωματική εργασία. Η
συγκεκριμένη εργαλειοθήκη προσφέρει συναρτήσεις, αλγόριθμους και εφαρμογές για το
σχεδιασμό και την προσομοίωση συστημάτων μηχανικής όρασης και επεξεργασίας
βίντεο. Δίνει τη δυνατότητα ανίχνευσης, εξαγωγής και ταύτισης γνωρισμάτων,
αναγνώρισης αντικειμένων, προσδιορισμού κίνησης κ.α. Επιπλέον, βρίσκει εφαρμογή