background image

Σχεδιασμός και υλοποίηση ενός έξυπνου παιχνιδιού για τη συναισθηματική 

παρακολούθηση και το γονικό έλεγχο ενός παιδιού 

 

 

35 

 

●  Ubuntu:  Οι  εκδόσεις  που  υποστηρίζονται  από  τον  εν  λόγω 

μικροϋπολογιστή  είναι  αρκετές,  ανάλογα  με  τις  ανάγκες  της  εκάστοτε 

εφαρμογής  που  θα  αναπτυχθεί.  Η  κυριότερη  έκδοση  η  οποία 

χρησιμοποιείται κατά κόρον μέχρι και σήμερα είναι η έκδοση 16.04.  

●  Debian: Και από το λειτουργικό αυτό σύστημα μπορεί να χρησιμοποιηθεί η 

έκδοση  που  απαιτείται  ανάλογα  με  την  εφαρμογή  η  οποία  θα  αναπτυχθεί. 

Από  την  προγραμματιστική  κοινότητα  προτείνεται  να  χρησιμοποιηθεί  η 

έκδοση 9. 

Για  τις  ανάγκες  υλοποίησης  της  παρούσας  εργασίας,  χρησιμοποιήθηκε  η  έκδοση 

Ubuntu 12.04 η οποία είναι επίσης εγκατεστημένη στον υπολογιστή και δοκιμασμένη με 

τη  λειτουργία  του  λογισμικού  OpenCV.  Ωστόσο  δοκιμάστηκε  και  το  λειτουργικό 

σύστημα Ångström το οποίο δεν μπόρεσε να υποστηρίξει την εν λόγω βιβλιοθήκη. 

 

 

2.2 C++ 
 

Η εφαρμογή που αναπτύχτηκε στην παρούσα διπλωματική εργασία βασίστηκε στη 

βιβλιοθήκη  OpenCV  για  την  οποία  θα  μιλήσουμε  αναλυτικά  σε  επόμενο  κεφάλαιο. 

Ξεκινώντας  την  ανάπτυξη  μιας  εφαρμογής  που  απαιτεί  τη  χρήση  της  εν  λόγω 

βιβλιοθήκης, είναι απαραίτητο να γίνει επιλογή της γλώσσας προγραμματισμού που θα 

χρησιμοποιηθεί. Υπάρχουν δύο πιθανές γλώσσες προγραμματισμού γι’ αυτό το σκοπό, η 

C++  και  η  Python.  Η  γλώσσα  που  τελικά  χρησιμοποιήθηκε  είναι  η  C++  για  πολλούς 

λόγους. 

Η Python σαν γλώσσα προγραμματισμού είναι βραδύτερη από την C++. Αυτό γιατί 

δεν  χρειάζεται  μεταγλώττιση  σε  αντίθεση  με  την  C++  η  οποία  μεταγλωττίζεται  σε 

γλώσσα  μηχανής  και  έτσι  καταφέρνει  να  προσφέρει  πλεονεκτήματα  ως  προς  την 

απόδοση.  Η  Python  επιλέγεται  γενικά  για  την  απλότητά  και  τη  φορητότητα  που 

προσφέρει  αλλά  και  για  την  ενίσχυση  της  δημιουργικότητας  των  προγραμματιστών, 

καθώς  με  αυτήν  είναι  απαλλαγμένοι  από  την  γνωστική  πολυπλοκότητα  και 

επικεντρώνονται αποκλειστικά στους αλγόριθμους που αναπτύσσουν.