Σχεδίαση και Υλοποίηση Ολοκληρωµένου Συστήµατος µε DSPs για Λήψη, Επεξεργασία και ιαχείριση Εικόνας Ειδική Επιστηµονική Εργασία Καλαντζόπουλος Αθανάσιος
Αντικείµενο µελέτης Οσχεδιασµός και η υλοποίηση ενός συστήµατος για την λήψη και την ψηφιακή επεξεργασία έγχρωµων εικόνων που λαµβάνονται από ένα CMOS αισθητήρα εικόνας (ψηφιακή φωτογραφική µηχανή). Η δηµιουργία ενός εύχρηστου Interface που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του. Ηδηµιουργία µιας ιστοσελίδας που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του από απόσταση (µέσω Internet ή Ethernet). 2
Αντικείµενο µελέτης Οσχεδιασµός και η υλοποίηση ενός συστήµατος για την λήψη και την ψηφιακή επεξεργασία έγχρωµων εικόνων που λαµβάνονται από ένα CMOS αισθητήρα εικόνας (ψηφιακή φωτογραφική µηχανή). Η δηµιουργία ενός εύχρηστου Interface που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του. Ηδηµιουργία µιας ιστοσελίδας που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του από απόσταση (µέσω Internet ή Ethernet). 3
Ηδοµή του συστήµατος 4
Το Hardware του συστήµατος 5
Το Hardware του συστήµατος DSK C6713 DSKcam OV 7620 6
DSPs (Digital Signal Processors) Οι DSPs προσφέρουν: Χαµηλό κόστος Μικρό µέγεθος Μικρή κατανάλωση ισχύος Παράλληλη εκτέλεση εντολών υνατότητα εκτέλεσης πολλαπλασιασµών µέσω του Hardware Ενδεικτικά οι DSPs χρησιµοποιούνται σε: Ηχητικά Συστήµατα Επικοινωνίες Ιατρικά Συστήµατα Στρατιωτικά Συστήµατα Βιοµηχανία 7
Η αναπτυξιακή πλατφόρµα DSK C6713 TMS320C6713 TMS320C6713: Πράξεις κινητής και σταθερής υποδιαστολής Κρυφή µνήµη (Cache) 2 επιπέδων µε δυνατότητα διαµόρφωσης της από τον χρήστη VelociTI αρχιτεκτονική που στηρίζεται στην VLIW Παράλληλη εκτέλεση 8 εντολών 8
O OV7620 και η DSKcam Έγχρωµος CMOS αισθητήρας εικόνας OV7620 της OmniVision: DSKCam της BiTEC: ιασύνδεση του OV7620 µε το DSK C6713, DSK C6711 και DSK C6416 TCP/IP συσκευή διασύνδεσης Σειριακή θύρα υψηλής ταχύτητας 640x480 (VGA) και 320x240 (QVGA) 30 fps για VGA και 60 fps για QVGA Πεπλεγµένη και προοδευτική σάρωση Raw RGB, GBR 4:2:2 και YCbCr 4:2:2 Βελτίωση εικόνας OV 7620 DSKcam 9
Το Software του συστήµατος 10
LabVIEW 8.0 Το GUI του συστήµατος υλοποιήθηκε µε το LabVIEW 8.0 της National Instruments (ΝΙ) Γραφικός προγραµµατισµός ή γλώσσα G Προγραµµατισµός ροής δεδοµένων Μια εφαρµογή µε τοlabview ονοµάζεται VI (Virtual Instrument ) και αποτελείται από: To Front Panel που είναι το GUI της εφαρµογής Το Block Diagram που περιέχει το κώδικα της εφαρµογής: Τα τερµατικά εικονίδια των αντικειµένων του front panel Τις απαιτούµενες δοµές και τους βρόχους επανάληψης Τις συναρτήσεις και τα SubVIs (VIs που καλούνται από ένα Block Diagram) 11
Code Composer Studio (CCS) v3.1 O προγραµµατισµός του DSP πραγµατοποιήθηκε µε το αναπτυξιακό περιβάλλον CCS v.3.1 της TI Το CCS επιτρέπει: Τον προγραµµατισµό όλωντωνdsps της TI Σε Assembly Σε C Τον πλήρη έλεγχο όλων των DSPs της ΤΙ Την µεταφορά δεδοµένων από και προς τον DSP µε απευθείας προσπέλαση της µνήµης του DSP αξιοποιώντας την RTDX (Real-Time Data Exchange) τεχνολογία 12
ιασύνδεση των DSPs της ΤΙ µε άλλα αναπτυξιακά προγράµµατα Μεγάλες εταιρείες όπως η The Mathworks και η NI ανάπτυξαν εργαλεία για την διασύνδεση των προϊόντων τους µε τοccs Link for Code Composer Studio Development Tools v2.0 της The Mathworks για το MATLAB και το Simulink Test Integration Toolkit for TI DSPs v2.0 της NI για το LabVIEW Το γεγονός αυτό επιτρέπει στον χρήστη την δηµιουργία GUIs για τον έλεγχο εφαρµογών µε DSPs της ΤΙ 13
Test Integration Toolkit for TI DSPs v2.0 Απαιτήσεις: LabVIEW v7.0 ή µεταγενέστερη έκδοση CCS v.2.2 ή µεταγενέστερη έκδοση Το σύνολο των SubVIs που περιέχει χωρίζεται σε: Αυτοµατοποίηση του CCS Επικοινωνία µε τοccs Μειονεκτήµατα εν υποστηρίζεται η µεταφορά όλων των τύπων δεδοµένων εν µπορεί να οριστεί η κάρτα που θα χρησιµοποιηθεί εν υποστηρίζονται οι πρόσθετες δυνατότητες που διαθέτει το CCS v3.1 όπως την δυναµική σύνδεση αποσύνδεση της κάρτας 14
LabVIEW to CCS Link To LabVIEW to CCS Link καλύπτει τις αδυναµίες του toolkit της NI Απαιτήσεις: LabVIEW 7.1 ή µεταγενέστερη έκδοση CCS v3.1 ή µεταγενέστερη έκδοση Πλεονεκτήµατα: Υποστηρίζει την µεταφορά όλων των τύπων δεδοµένων ίνει την δυνατότητα να οριστεί προγραµµατιστικά η κάρτα που θα χρησιµοποιηθεί Υποστηρίζει τις νέες δυνατότητες του CCS v3.1 όπως η δυναµική σύνδεση - αποσύνδεση της κάρτας 15
LabVIEW to CCS Link Τα SubVIs του LabVIEW to CCS Link χωρίζονται σε: Ρύθµιση του CCS Τα SubVIs αυτής της κατηγορίας δίνουν στον χρήστη την δυνατότητα να ορίζει προγραµµατιστικά την κάρτα ή τις κάρτες που θα χρησιµοποιήθούν Αυτοµατοποίηση του CCS Τα SubVIs αυτής της κατηγορίας δίνουν στον χρήστη την δυνατότητα να ελέγχει προγραµµατιστικά το CCS Επικοινωνία µε τοccs Τα SubVIs αυτής της κατηγορίας χρησιµοποιούνται για την µεταφορά δεδοµένων όλων των τύπων από το LabVIEW στον DSP και αντίστροφα είτε µε απευθείας προσπέλαση της µνήµης του DSP είτε αξιοποιώντας την RTDX τεχνολογία 16
Ρύθµιση του CCS (SubVIs) CCS_Setup_Open.vi CCS_Setup_Close.vi CCS_Setup_Clear.vi CCS_Setup_Add_Board.vi CCS_Setup_Remove_ Board.vi CCS_Setup_Rename_ Processor.vi CCS_Setup_Boards_&_ Processors.vi CCS_Setup_Save.vi CCS_Setup_Rename_ Board.vi 17
Αυτοµατοποίηση του CCS (SubVIs) CCS_Open.vi CCS_Close.vi CCS_Open_Project.vi CCS_Close_Project.vi CCS_Connect.vi CCS_Disconnect.vi CCS_Build_All.vi CCS_Build_Result.vi CCS_Download.vi CCS_DSP_Reset.vi CCS_DSP_Run.vi CCS_DSP_Restart.vi CCS_DSP_Halt.vi CCS_Is_DSP_Running.vi CCS_RTDX_Enable.vi CCS_RTDX_Disable.vi CCS_RTDX_Logfile_ Configuration.vi 18
Επικοινωνία µε τοccs (SubVIs) RTDX_Channel_Disable.vi MEM_Read.vi RTDX_Channel_Enable.vi MEM_Write.vi RTDX_Channel_Status.vi Leds_Read_(DSK6713).vi RTDX_Read.vi RTDX_Write.vi Leds_Write_(DSK6713).vi Switches_Read_ (DSK6713).vi MEM_Get_Address.vi 19
Αντικείµενο µελέτης Οσχεδιασµός και η υλοποίηση ενός συστήµατος για την λήψη και την ψηφιακή επεξεργασία έγχρωµων εικόνων που λαµβάνονται από ένα CMOS αισθητήρα εικόνας (ψηφιακή φωτογραφική µηχανή). Η δηµιουργία ενός εύχρηστου Interface που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του. Ηδηµιουργία µιας ιστοσελίδας που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του από απόσταση (µέσω Internet ή Ethernet). 20
Τοπική λειτουργία του συστήµατος 21
υνατότητες του συστήµατος Λήψη Εικόνων µε τονcmos αισθητήρα εικόνας OV7620 Επεξεργασία των εικόνων µε τονtms320c6713 DSP Ανίχνευση ακµών Ισοστάθµιση του ιστογράµµατος Εφαρµογή 3x3 φίλτρων Απεικόνιση των εικόνων Αποθήκευση των εικόνων υνατότητα ελέγχου του συστήµατος από απόσταση (µέσω Internet ή Ethernet) 22
Η βασική λειτουργία του συστήµατος 23
Το GUI του συστήµατος Run 24
Αρχικοποίηση του συστήµατος 25
Κατάσταση αναµονής Λήψη Τερµατισµός Επιλογή Επεξεργασίας 26
Λήψη εικόνων 27
Λήψη εικόνων 28
Λήψη εικόνων 29
Αποθήκευση εικόνων Το GUI αποθηκεύει τις εικόνες µε το πάτηµα του Save Σε ένα φάκελο µε όνοµα Pictures στην διαδροµή τουgui Σε ένα.zip αρχείο µε όνοµα images που δηµιουργείται στο Root Directory του Web Server του LabVIEW Σύµφωνα µε τοjpeg πρότυπο Το όνοµα δίνεται αυτόµατα σύµφωνα µε την ώρα λήψης την ηµεροµηνία λήψης την επεξεργασία 30
Ανίχνευση ακµών 31
Σύγκριση των αποτελεσµάτων µε τοmatlab 32
Ισοστάθµιση του ιστογράµµατος 33
Σύγκριση των αποτελεσµάτων µε τοmatlab 34
Εφαρµογή 3x3 φίλτρου µέσης τιµής 35
Σύγκριση των αποτελεσµάτων µε τοmatlab 36
Εφαρµογή 3x3 φίλτρου επαύξησης της οξύτητας (Unsharp Masking) H 3x3 µάσκα του φίλτρου επαύξησης της οξύτητας σύµφωνα µε τηνεντολή fspecial του MATLAB : 37
Εφαρµογή 3x3 φίλτρου επαύξησης της οξύτητας (Unsharp Masking) 38
Σύγκριση των αποτελεσµάτων µε τοmatlab 39
Εφαρµογή 3x3 υψηπερατού φίλτρου 40
Σύγκριση των αποτελεσµάτων µε τοmatlab 41
Ορισµός 3x3 µάσκας από τον χρήστη 42
Ορισµός 3x3 µάσκας από τον χρήστη 43
Αντικείµενο µελέτης Οσχεδιασµός και η υλοποίηση ενός συστήµατος για την λήψη και την ψηφιακή επεξεργασία έγχρωµων εικόνων που λαµβάνονται από ένα CMOS αισθητήρα εικόνας (ψηφιακή φωτογραφική µηχανή). Η δηµιουργία ενός εύχρηστου Interface που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του. Ηδηµιουργία µιας ιστοσελίδας που επιτρέπει την διαχείριση του συστήµατος και των αποτελεσµάτων του από απόσταση (µέσω Internet ή Ethernet). 44
ηµιουργία της ιστοσελίδας Ο έλεγχος του συστήµατος από απόσταση πραγµατοποιείται: Αξιοποιώντας τον Web Server του LabVIEW 8.0 Μέσω µιας ιστοσελίδας (αρχείο.html) Για την δηµιουργία της ιστοσελίδας χρησιµοποιήθηκαν: Το Web Publishing Tool του LabVIEW 8.0 Το Microsoft Front Panel 2003 45
Προϋποθέσεις για την λειτουργία του συστήµατος από απόσταση Στον Target - PC \ Web Server θα πρέπει: Nα είναι εγκατεστηµένο το Code Composer Studio v3.1 Nα είναι εγκατεστηµένο το LabVIEW 8.0 Να είναι ανοικτό το GUI του συστήµατος Να είναι ενεργοποιηµένος ο Web Server που διαθέτει το LabVIEW 8.0 Να έχει τεθεί ως Root Directory του Web Server η προκαθορισµένη διαδροµή (C:\Program Files\National Instruments\LabVIEW 8.0\www) Στον Host PC \ Client θα πρέπει να είναι εγκατεστηµένα: Το LabVIEW 8.0 ήηαντίστοιχηrun Time Engine (http://www.ni.com) Πρόγραµµα περιήγησης όπως ο Internet Explorer Πρόγραµµα διαχείρισης συµπιεσµένων αρχείων 46
Λειτουργία του συστήµατος από απόσταση µέσω Internet ή Ethernet 47
Άνοιγµα της ιστοσελίδας Embedded object 48
Ολοκλήρωση της σύνδεσης Run 49
Αρχικοποίηση του συστήµατος 50
Λήψη εικόνων 51
Λήψη εικόνων 52
Κατέβασµα εικόνων 53
Ανίχνευση ακµών 54
Ορισµός 3x3 µάσκας από τον χρήστη 55
Ορισµός 3x3 µάσκας από τον χρήστη 56
Το παράθυρο About 57
Ευχαριστώ! 58