Προς το περιεχόμενο

επεξεργασία δεδομένων κάμερας μεσω C++


contest

Προτεινόμενες αναρτήσεις

Δημοσ.
κατεβαζω τωρα αυτο που μου εδωσες "DXSDK_Jul10.exe"

 

εσυ ειχες πει για windows SDK και υποθετω οτι το DirectX ειναι μερος του...οποτε εψαχνα το SDK που εχει πληρεστερη βιβλιοθηκη... οχι οτι θα τα χρειαζομουν τα επιπροσθετα...

 

οκ την κατεβαζω το ψαχνω και επανερχομαι

 

---------- Προσθήκη στις 21:29 ---------- Προηγούμενο μήνυμα στις 15:24 ----------

 

ποιος φακελος ποια κλαση θα με βοηθούσε? :o:o:o

Δεν θέλει το DirectX SDK. Το DirectShow είναι μέρος του platform SDK το οποί με την σειρά του πλέων ονομάζεται WindowsSDK. Το link που είχες δώσει στην αρχή ήταν αυτό που χρειάζεσαι. Όταν το κατεβάσεις και το εγκαταστήσεις θα βρείς κάποια παραδείγματα σάββτο εδώ το path.

C:/Program Files/Microsoft SDKs/Windows/v6.1/Samples/Multimedia/DirectShow/

 

 

Μέσα σαΐτα τα παραδείγματα υπάρχει και ένα framework από BaseClasses. Είναι βασικά templates για να γραφεις δικά σου φίλτρα directshow. Το BaseVideoRenderer είναι αυτό που θέλεις για να δεχτείς το buffer με την εικόνα. Όταν μπορέσεις και καταλάβεις τι παίζει πέσμου να σου δώσω μια class που έγραψα που αντιπροσωπεύει το source της κάμερας.

 

Αν δεν γνωρίζεις καλά την c++ μπορείς να κοιτάξεις το gstreamer που αυτό είναι για linux αλλα παρέχει περίπου τις ίδιες δυνατότητες. Αν και προσωπικά πιστεύω ότι η αντικειμενοστραφής προσέγγιση χρησιμοποιώντας την c++ είναι καλύτερη από αυτήν της c.

Δημοσ.
Δεν θέλει το DirectX SDK. Το DirectShow είναι μέρος του platform SDK το οποί με την σειρά του πλέων ονομάζεται WindowsSDK.

 

Παλαιότερα που είχα δοκιμάσει κάτι αντίστοιχο είχα κάνει μία προσέγγιση με DirectX, για αυτό πρότεινα αυτό. Αν στο DirectShow έχουν πιο εύκολες υλοποιήσεις δεν το γνωρίζω. Αλλά αν έχουν σίγουρα είναι η καλύτερη λύση!!!

Δημοσ.
Παλαιότερα που είχα δοκιμάσει κάτι αντίστοιχο είχα κάνει μία προσέγγιση με DirectX, για αυτό πρότεινα αυτό. Αν στο DirectShow έχουν πιο εύκολες υλοποιήσεις δεν το γνωρίζω. Αλλά αν έχουν σίγουρα είναι η καλύτερη λύση!!!

 

Παλιά το DirectShow ήταν κομμάτι του directX σήμερα όμως ανήκει στο WindowsSdk.

Μιλάμε για την ίδια τεχνολογία. http://en.wikipedia.org/wiki/DirectShow

Δημοσ.

H openCV είναι μια μεγάλη βιβλιοθήκη για image processing σε C++. Αφού την εγκαταστήσεις, έχει πολλά έτοιμα παραδείγματα που χρησιμοποιούν την webcam και κάνουν διάφορα. Υποθέτω ότι κοιτώντας τον κώδικα από τα παραδείγματα θα μπορούσες να κάνεις αυτό που θέλεις. Δεν ξέρω πώς την εγκαθιστάς σε Windows (ίσως να είναι αρκετά απλό).

Δημοσ.

εγκατεστησα και την orenCV και την DirectX και την DirectShow και τo WindowsSDK

(οποιος θελει μπορω να του τις στειλω).

 

Micro ειμαι στο path

 

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses

 

και στον φακελο αυτον εχει πολλους κωδικες,

1) Εγω θελω να παιρνω διαδοχικες εικονες απο την cam να τις συγκρινω και να βρησκω τα κοκκινο, γκρι, κιτρινο χρωματα και ισως μετεπειτα καποιους συνδιασμους που θελω να κανω ποιον να επιλέξω???

2) γνωριζω απο C++ και απο αντικειμενοστραφει προγραμματισμο C++ θελω να δουλεψω-να εργασθω-να δημιουργησω επανω σε αυτην την γλωσσα απλα, σε αυτην την φαση μηλαμε για οπτικο προγραμματισμο??? (εχω τον C++ Builder 6).

3) Με δεδομενο οτι θελω απλο κωδικα-αποτελεσματα του στυλ "true-false" μπορω να κανω κωδικα σε μη οπτικο προγραμματισμο??? εχω την Borland C++ και μου ειναι ποιο ευχρηστη.

 

θελω δηλαδη να κανω ενα καναλι επικοινωνιας και οπως λες να παιρνω απο τον buffer τις εικονες, δημιουργούμε ενα API ???

αν θελεις στειλε μου τον κωδικα σου να δω τι παιζει...

Δημοσ.
εγκατεστησα και την orenCV και την DirectX και την DirectShow και τo WindowsSDK

(οποιος θελει μπορω να του τις στειλω).

 

Micro ειμαι στο path

 

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses

 

και στον φακελο αυτον εχει πολλους κωδικες,

1) Εγω θελω να παιρνω διαδοχικες εικονες απο την cam να τις συγκρινω και να βρησκω τα κοκκινο, γκρι, κιτρινο χρωματα και ισως μετεπειτα καποιους συνδιασμους που θελω να κανω ποιον να επιλέξω???

2) γνωριζω απο C++ και απο αντικειμενοστραφει προγραμματισμο C++ θελω να δουλεψω-να εργασθω-να δημιουργησω επανω σε αυτην την γλωσσα απλα, σε αυτην την φαση μηλαμε για οπτικο προγραμματισμο??? (εχω τον C++ Builder 6).

3) Με δεδομενο οτι θελω απλο κωδικα-αποτελεσματα του στυλ "true-false" μπορω να κανω κωδικα σε μη οπτικο προγραμματισμο??? εχω την Borland C++ και μου ειναι ποιο ευχρηστη.

 

θελω δηλαδη να κανω ενα καναλι επικοινωνιας και οπως λες να παιρνω απο τον buffer τις εικονες, δημιουργούμε ενα API ???

αν θελεις στειλε μου τον κωδικα σου να δω τι παιζει...

 

 

Δεν είναι και καλύτερη επιλογή το C++ Builder για να δουλέψεις με το DirectShow. Εγώ χρησιμοποιώ το VS. Το "βασεκλασσες" είναι ένα project της vc++ και σου παρέχει βασικέ κλάσεις για να γραφεις δικάσου φίλτρα directshow. Το directshow είναι ισχυρό εργαλείο

όμως θα σου πάρει χρόνο για να το μάθεις. Είσαι τυχερός όμως gt πριν μάθω εγώ το dshow είχα φτιάξει κάτι παρόμοιο με αυτό που θέλεις. Εδώ είναι ο δεύτερος πιο εύκολος αλλα μάλλον λάθος τρόπος για να φτιάξεις αυτό που θέλεις.

http://rapidshare.com/files/409414592/WebCamProject.zip

 

Στο παράδειγμα που σου δίνω δεν χρησιμοποιείται άμεσα το directshow, απλά η κάμερα είναι δεμένη με ένα παράθυρο και περνώντας διαδοχικά το context του παραθυρου μπορείς και εξάγεις τα bitmaps με τα frames που σου έφερε η κάμερα. Εγώ το είχα φτιάξει κάποτε για να ανιχνεύω την κίνηση μπροστά στην κάμερα. Είναι όμως λάθος ο τρόπος αυτός και δεν τον συνιστώ.

 

 

Χρησιμοποιώντας το directshow κανονικά στήνεις έναν γράφω από φίλτρα. Έχει πολλά παραδείγματα στο internet δες πρώτα πως παίζεις ένα mp3 και όταν φτάσεις στο σημείο να παίζεις όλα τα αρχεία με video renderer τις επιλογής σου πέσμου να σου δείξω πως παίζεις με την κάμερα.

 

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

http://www.codeproject.com/KB/audio-video/SampleGrabber.aspx

Αυτό θα σου φανεί χρήσιμο για να μην γραφεις δικοσου φίλτρο χρησιμοποιώντας τα baseclasses, αν και πιστεύω πως το φίλτρο είναι η καλύτερη λύση.

 

Εκτος από αυτά υπάρχει και η δυνατότητα του VMR να σου φέρνει τα bitmaps του video το γραφεις στο site με το παράδειγμα του samplegrabber.

 

Όλα αυτά δεν έχουν καμια σχέση με τον οπτικό προγραμματισμό.

Δημοσ.

ευχαριστω γαι την πληρεστατη απαντηση σου m1cRo,

 

θα μπορουσες να μου στειλεις το περιβαλλον που δουλευεις?

ισως την VC++ που λες...πριν κατεβασω τον Builder προσπαθησε με τον codegear αλλα δεν μπορεσα να το κατεβασω...

Δημοσ.

m1cRo ,η οποιος εχει την διαθεση, μηπως μπορεις να μου προτεινεις ενα ποιο χαμηλο επιπεδο απο τα mp3... για να ξεκινησω??? :o

τα βλεπω λιγο περιεργα αυατ, διαβασα και για φιλτρα kalman αλλα παιζουν πολλα μαθηματικα σε μια διατριβη που μελετουσα...

ποια η διαφορα της VC++ που δουλευεις με τον Builder? στο software ειναι το θέμα?

Δημοσ.
m1cRo ,η οποιος εχει την διαθεση, μηπως μπορεις να μου προτεινεις ενα ποιο χαμηλο επιπεδο απο τα mp3... για να ξεκινησω??? :o

τα βλεπω λιγο περιεργα αυατ, διαβασα και για φιλτρα kalman αλλα παιζουν πολλα μαθηματικα σε μια διατριβη που μελετουσα...

ποια η διαφορα της VC++ που δουλευεις με τον Builder? στο software ειναι το θέμα?

 

Πήρες λάθος δρόμο από τι βλέπω. Διάβασε το άρθρο από codeproject που σου έδωσα στο προηγούμενο post. Το visual studio περιέχει την χρήσιμη βιβλιοθήκη atl για να δουλεύεις με τα com το builder δεν την έχει. Στο builder όμως απότι θυμάμαι υπάρχουν components που λέγονται dspack, αυτά είναι για να δουλεύεις με το directshow. Επίσης σου έδωσα και ένα παράδειγμα γραμμένο με c++ builder το είδες καθόλου?

Δημοσ.

το ειδα εχει πολλα κομματια κωδικα... ειναι ωραιο αλλα σε Builder δεν μπορω να καταλαβω και πολλα πολλα ποιο πολυ για τις standar συναρτησεις που χρησιμοποιει και δεν εχω βιβλιο για να διαβασω για αυτες.

 

το προγραμμα αυτο βγαζει φωτο *.bmp και κανει σχεδον ολη τη δουλεια που θελω. Επιπροσθετος, απλα θα ηθελα να ελεγχει καποιος κωδικας τα χρωματα καθε νεας φωτο π.χ. το μπλε οπως στην παρακατω εικονα του συμπιεζμενου αρχειου.

 

απλα ηθελα αν γινοταν να μαθαινα πως γινεται ολο αυτο (δεν θελω να τα παιρνω ετοιμα..) γιαυτο ρωτησα και για καποιο περιβαλλον που θα μπορουσες να μου συστησεις οπως και ενα χαμηλοτερο επιπεδο να ξεκινησω...

Επισης το θεμα με τις βιβλιοθηκες, οτι μας δινοται κομματια κωδικα ετοιμα και εγω επειδη ειμαι τελειομανης θα ηθελα να τα κανω ολα εγω (σε καθε project που κανω οπως στην σειριακη και παραλληλη επικοινωνια προγραμματος pc με πλακετα) αλλα ειναι δυσκολο και πρεπει να συμβιβαστω...:mad::mad:

deigma.zip

Δημοσ.

Διαβαζω και το αρθρο στο codeproject απλα ψαχνω να βρω εκει τι παιζει με τα φιλτρα ειναι βασικο αυτο στην ολη φαση απ' οτι νομιζω...

Αρχειοθετημένο

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

  • Δημιουργία νέου...