Ο αρχικοποιητής τύπου για το 'Emgu.CV.CvInvoke' έριξε μια εξαίρεση. Εάν δείτε αυτήν την εξαίρεση, ελέγξτε τα ακόλουθα
Έχετε εγκαταστήσει το MSVCRT; Για την έκδοση 2.0+, το πακέτο δυαδικού αρχείου OpenCV 2.0 έχει δημιουργηθεί με το Visual Studio 2008, θα πρέπει να εγκαταστήσετε το MSVCRT 9.0 SP1 για να επιλύσετε το πρόβλημα εξάρτησης. Για την έκδοση 1.5, το δυαδικό αρχείο OpenCV pre1.1 έχει δημιουργηθεί με το Visual Studio 2005, θα πρέπει να εγκαταστήσετε το MSVCRT 8.0 SP1 για να επιλύσετε το ζήτημα εξάρτησης. Έχετε αντιγράψει τα dll του OpenCV στον κατάλογο εκτέλεσης; Βεβαιωθείτε ότι τα μη διαχειριζόμενα DLL βρίσκονται στον κατάλογο εκτέλεσης. Για την έκδοση Emgu CV <= 2.1, αυτό σημαίνει τα ακόλουθα dll: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll mlXXX.dll andcvextern.dll όπου το XXX είναι το OpenCV αριθμός έκδοσης. Για την έκδοση Emgu CV >= 2.2 αυτό σημαίνει τα ακόλουθα dll: opencv_calib3dXXX.dll, opencv_contribXXX.dll,opencv_coreXXX.dll, opencv_features2dXXX.dll,opencv_highguiXXX.dll, opencv_ imgprocXXX.dll, opencv_legacyXXX.dll,opencv_mlXXX.dll, opencv_objectdetectXXX.dll,opencv_videoXXX.dll όπου XXX είναι ο αριθμός OpenCVversion. Ο καλύτερος τρόπος για να ρυθμίσετε το έργο σας είναι: Αντιγράψτε τα μη διαχειριζόμενα DLL στο φάκελο του έργου σας Κάντε δεξί κλικ στο έργο, κάντε κλικ στο Add->ExistingItem και επιλέξτε όλα τα μη διαχειριζόμενα DLL. Προσθέστε τα στο έργο. Για καθένα από τα Dll που περιλαμβάνονται, κάντε αριστερό κλικ πάνω του, βρείτε την επιλογή "Copyto Output Directory" και επιλέξτε "Αντιγραφή εάν είναι νεότερο" Χρησιμοποιείτε λειτουργικό σύστημα 32-Bit; Το πρόγραμμα εγκατάστασης των Windows είναι διαθέσιμο μόνο για παράθυρα 32-Bit. Εάν χρησιμοποιείτε λειτουργικό σύστημα 64-bit, υπάρχουν τρεις πιθανοί τρόποι επίλυσηςαυτό το ζήτημα:
Μπορείτε να κατεβάσετε το πακέτο zip μόνο 64bit από το sourceforge και να το προσθέσετε στο έργο σας. Μπορείτε επίσης να μεταγλωττίσετε ξανά το OpenCV από την πηγή για πλατφόρμα 64-bit. Δείτε τις οδηγίες για την κατασκευή απόSVN Εναλλακτικά, μπορείτε να αναγκάσετε την εφαρμογή .NET να εκτελείται σε λειτουργία 32 bit, ακόμη και σε λειτουργικό σύστημα 64 bit. Για να το κάνετε αυτό, στη σελίδα διαμόρφωσης του εκτελέσιμου έργου σας, επιλέξτε Στόχος πλατφόρμας ως'x86'. Σας λείπει κάποια εξάρτηση; Κατεβάστε το Dependency Walker και χρησιμοποιήστε το για να ανοίξετε το αρχείο "cvextern.dll". Ελέγξτε εάν λείπει κάποια εξάρτηση.
Έχω ελέγξει όλα τα παραπάνω, αλλά εξακολουθώ να έχω τοΕξαίρεση Σε αυτήν την περίπτωση, προσπαθήστε να δημιουργήσετε και να εκτελέσετε τα παραδείγματα. Αφού δημιουργήσετε τα παραδείγματα, προσπαθήστε να εκτελέσετε το πρόγραμμα "Hello World".
Εάν το "Hello World" εκτελείται χωρίς κανένα πρόβλημα, συγκρίνετε το με εσάςέργο, βρείτε τη διαφορά στη διαμόρφωση και διορθώστε το.
Εάν το "Hello World" πάρει το ίδιο "Ο αρχικοποιητής τύπου για το Emgu. CV.CvInvoke' έριξε μια εξαίρεση." μήνυμα, προσπαθήστε να βρείτε το InnerException και να το αναφέρετε στο φόρουμ συζήτησης
Αρχικοποίηση τύπου του emgu. CV. cvinvoke «βάλτε εξαιρέσεις. Εάν δείτε αυτήν την εξαίρεση, ελέγξτε τα ακόλουθα Έχετε εγκαταστήσει το msvcrt; Έκδοση 2+, ομαδοποιημένο δυαδικό opencv 2 πρόκειται για τη δημιουργία του Visual Studio 2008 και θα χρειαστεί να εγκαταστήσετε το edmsvcrt 9 SP1 για να επιλύσετε προβλήματα εξάρτησης. Για την έκδοση 1.5, ομαδοποιημένη δυαδική δομή OpenCV pre1.1 Visual Studio 2005, θα χρειαστεί να εγκαταστήσετε το edmsvcrt 8 SP1 για να επιλύσετε προβλήματα εξάρτησης. Ο κατάλογος εκτέλεσης opencv DLL που αντιγράψατε; Βεβαιωθείτε ότι το μη διαχειριζόμενο DLL βρίσκεται στον κατάλογο εκτέλεσης. Για την έκδοση emgu CV< = 2.1, που σημαίνει τα ακόλουθα DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll wherexxx είναι οι αριθμοί έκδοσης του opencv. Για την έκδοση emgu CV> = 2.2 Αυτό σημαίνει ότι τα ακόλουθα DLL:opencv_calib3dxxx.dll, opencv_contribxxx. DLL,opencv_corexxx.dll,opencv_features2dxxx。 DLL,opencv_highguixxx.dll,opencv_imgprocxxx.dll,opencv_legacyxxx。 DLL,opencv_mlxxx.dll,opencv_objectdetectxxx。 DLL, opencv_videoxxx.dll XXX είναι ο αριθμός opencvversion. Ο καλύτερος τρόπος για να δημιουργήσετε το έργο σας είναι: Μη διαχειριζόμενο DLL που αντιγράφηκε στο φάκελο του έργου σας Κάντε δεξί κλικ στο έργο και κάντε κλικ στην επιλογή Προσθήκη > υπάρχονστοιχείο για να επιλέξετε όλα τα μη διαχειριζόμενα DLL. Προσθέστε τα στο έργο. Για κάθε DLL που περιέχει, κάντε αριστερό κλικ πάνω του, βρείτε την επιλογή "Αντιγραφή & Έξοδος Καταλόγου", επιλέξτε "Αντιγραφή εάν ενημερωθεί" Χρησιμοποιείτε λειτουργικό σύστημα 32-bit; Ο Windows Installer μπορεί να παρέχει μόνο Windows 32-bit. Εάν χρησιμοποιείτε λειτουργικό σύστημα 64-bit, υπάρχουν τρεις πιθανοί τρόποι για να λύσετε αυτό το πρόβλημα: Μπορείτε να κατεβάσετε το πακέτο zip μόνο 64-bit από το sourceforge και να το προσθέσετε στο έργο σας. Μπορείτε επίσης να μεταγλωττίσετε πηγές OpenCV από πλατφόρμες 64-bit. Δείτε το κτίριο από την οδηγία svn Ή μπορείτε να αναγκάσετε τη δική σας. Οι εφαρμογές .NET εκτελούνται σε λειτουργία 32 bit, ακόμη και σε λειτουργικά συστήματα 64 bit. Για να το κάνετε αυτό, στη σελίδα διαμόρφωσης του έργου εκτέλεσης, επιλέξτε τον στόχο πλατφόρμας ως'x86". Σας λείπουν κάποιες εξαρτήσεις; Κατεβάστε το Dependent Walker και χρησιμοποιήστε το για να ανοίξετε το "αρχείο cvextern DLL". ”。 Ελέγξτε εάν λείπουν εξαρτήσεις. Έλεγξα όλα τα παραπάνω αλλά εξακολουθώ να έχω εξαιρέσεις Σε αυτήν την περίπτωση, δοκιμάστε να δημιουργήσετε και να εκτελέσετε μια παρουσία. Αφού δημιουργήσετε την παρουσία, δοκιμάστε να εκτελέσετε το πρόγραμμα Hello World. Εάν το Hello World τρέχει χωρίς προβλήματα, συγκρίνεται με εσάςέργο, βρίσκει δομικές διαφορές και το λύνει. Αν το "hello world" πάρει το ίδιο "type initial value setter for'emgu". CV. cvinvoke" ρίχνει μια εξαίρεση. μήνυμα, προσπαθώντας να βρω την εσωτερική εξαίρεση στο φόρουμ
|