« Webcams working :D | Νέα plates έτοιμα και τοποθετημένα! » |
GuardDog being ported to linux!
Μετά το επιτυχές calibration των καμερών με τα καινούργια plexiglass plates , αποφάσισα πως η επόμενη αλλαγή που θα πρέπει να γίνει στο project είναι porting σε linux καθότι υπάρχουν αρκετά περιττά layers ( τρανταχτό παράδειγμα οι τραγικοί drivers των vx-6000 που εκκινούν στο boot άχρηστα services και ενεργοποιούν effects στα frames των webcams ενώ αλλάζουν τα settings φωτεινότητας αποφασίζοντας μόνες τους..
Επειδή από αρκετά νωρίς στο project προετοιμαζόμουν για αυτή την αλλαγή ο modular τρόπος με τον οποίο είναι γραμμένο το project σε συνδυασμό με τα σχετικά λίγα dependencies σε βιβλιοθήκες του συστήματος και την ISO-C++ που χρησιμοποιώ νομίζω οτι θα κάνουν σχετικά εύκολη την μετάβαση τουλάχιστων των βασικών λειτουργιών..
Από εκεί και εμπρός features όπως το Speech Recognition ούτως ή άλλως ήταν αρκετά επιβαρυντικά στο lite/ power efficient σύστημα από άποψη κατανάλωσης πόρων και σε κάθε περίπτωση δεν είναι ένας από τους πρωταρχικούς στόχους του project..
Σε κάθε περίπτωση εαν το εγχείριμα αποδειχθεί πιο χρονοβόρο από ότι έχει να προσφέρει υπάρχει πάντα η πιθανότητα να συνεχίσω στο ήδη υπάρχον OS.
Ένας ακόμα λόγος για τον οποίο γίνεται η μετάβαση είναι καθώς σκοπεύω να κάνω implement την διαδικασία Stereo Match σε OpenCL/CUDA enabled GPU για να μπορέσω να ανεβάσω την ανάλυση των εισερχομένων video feeds και να έχω καλύτερης ποιότητας depth maps από τα αρκετά περιοριστικά 320x240!
Σχετικά με την πρόοδο μου τώρα ουσιαστικά ο “αντικαταστάτης” του direct X / direct input είναι το V4L2 ( Video 4 Linux 2 ) για το οποίο αρκετά εκτενώς γίνεται αναφορά εδώ ->
http://www.rubli.info/academia/projects/thesis/linux_webcam.pdf
Για τους δικούς μου σκοπούς θα χρησιμοποιήσω ένα wrapper της βιβλιοθήκης V4L2 για C++
http://staff.science.uva.nl/~bterwijn/Projects/V4L2/ που ουσιαστικά ενσωματώνει σε κλάσεις το default παράδειγμα του V4L2 extention του linux kernel ( http://v4l2spec.bytesex.org/spec/capture-example.html )
Επίσης το νέο local GUI της εφαρμογής θα είναι wxWidgets και πλέον το project θα είναι πλήρως αποσπώμενο από την γραφική διεπαφή..
Αυτά λοιπόν..