[C++]OpenCV

M--G

Lieutenant
Registriert
Dez. 2006
Beiträge
772
Guten Abend :)
mit der Microsoft Cisual Studio Ultimate Version von der Uni und folgendem tollen Video:
http://www.youtube.com/watch?v=XeBhwbRoKvk
ist es mir endlich gelungen OpenCV erfolgreich für die Bildbearbeitung einzubinden.

Auch habe ich eine kleine Anleitung in PDF-Form gefunden, in der die ersten Schritte erklärt werden.

Das ganze mal abgetippt und Schritt für Schritt nachvollzogen:

Code:
int main(int argc, char *argv[])

{

IplImage* img = cvLoadImage(argv[1]);
if (!img) { 
	cerr << "Das Bild konnte nicht geladen werden: " << argv[1] << endl;
	goto Hauptmenue;
	}

cvNamedWindow ("original", CV_WINDOW_AUTOSIZE);
cvShowImage ("original", img);

cvWaitKey(0);

cvDestroyWindow("original");
cvReleaseImage(&img);

Erfolgreich kompiliert.
In den entsprechenden Debug-Ordner (das habe ich dank des Videos schongelernt ^^) wo die exe ist, ein Bil reingepack "original.jpg"
und dann ausgeführt.

Und dann ging der gleiche Errorkram, wie immer los:
Alle Ausgaben sind aktuell.
Programm.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cvDestroyWindow" in Funktion "_main".
Programm.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cvWaitKey" in Funktion "_main".
Programm.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cvShowImage" in Funktion "_main".
Programm.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cvNamedWindow" in Funktion "_main".
Programm.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cvLoadImage" in Funktion "_main".
D:\AutoChrom\Debug\AutoChrom.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.

Fehler beim Erstellen

Verstrichene Zeit 00:00:01.93
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Jemand eine Idee was schief gegangen ist?
Grüße
M--G
 
Zuletzt bearbeitet:
sollte eigentlich drin sein?!
cxcore210d.lib;cv210d.lib;%(AdditionalDependencies)

naja morgen oder nacher mal gründlichen testen...
 
So ein paar Versuche später, gibt es neue Errors ^^
OpenCVConfiguration.exe": "D:\OpenCVConfiguration\Debug\OpenCVConfiguration.exe" geladen, Symbole wurden geladen.
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\ntdll.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\kernel32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "D:\OpenCVConfiguration\Debug\cxcore210d.dll" geladen, Symbole wurden geladen.
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msvcp100d.dll" geladen, Symbole wurden geladen.
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msvcr100d.dll" geladen, Symbole wurden geladen.
"OpenCVConfiguration.exe": "D:\OpenCVConfiguration\Debug\highgui210d.dll" geladen, Symbole wurden geladen.
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\user32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\gdi32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\ole32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\advapi32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\rpcrt4.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\secur32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msvcrt.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\comctl32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\avifil32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\winmm.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msacm32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msvfw32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\shell32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\shlwapi.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\avicap32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\version.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\olepro32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\oleaut32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\imm32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\uxtheme.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msctf.dll" geladen, Cannot find or open the PDB file
"OpenCVConfiguration.exe": "C:\WINDOWS\system32\msctfime.ime" geladen, Cannot find or open the PDB file
Das Programm "[4568] OpenCVConfiguration.exe: Systemeigen" wurde mit Code 3 (0x3) beendet.
 
Deine Fehler sind keine Fehler, aber ich würde sagen, das Programm beendet sich (fast) normal.
Genau kann ich es nicht sagen, da du nicht den ganzen Quellcode hier reingestellt hast.

Und ich muss badday zustimmen. Mit Google wüsstest du, dass ein PDB nur die Debuginformationen enthält und damit nur ein optisches Schmankerl darstellt.
 
Du kriegst die Debuggermeldungen bzgl. PDB-Dateien einfach weg, indem du im Menü Debuggen->Optionen und Einstellungen->Symbole den Haken bei Microsoft-Symbolserver setzt.
 
Hmm wenn das Problem irgendwo anders liegt, bastel ich solange noch etwas am Code.
Kennt sich einer mit OpenCV aus und kann mir bei Bedarf weiterhelfen? :)

p.s. Das Fehlerfensterchen das Aufpoppt sagt:
in der Datei xstring (im Visual Studio Ordner)
tritt in "Line: 930"
ein "invalid null pointer" auf...
 
Kennt sich einer mit OpenCV aus und kann mir bei Bedarf weiterhelfen?
Immer einfach fragen.. ich hab zwar OpenCV nich wirklich benutzt (nur ma angeguckt und Samples modifiziert) aber kann bei Bildverarbeitungsfragen evtl. helfen
 
Was ist im Programmieren ein Stack?
 
Am Besten kaufst du dir erstmal ein Buch über Datenstrukturen und fängst erst dann an, da du anscheinend nicht einmal die Grundbegriffe kennst.
Ein bisschen Eigeninitiative wäre wohl auch nicht verkehrt.
 
Blitzmerker schrieb:
Bildverarbeitung ist schnell dann so kompliziert, dass du ohne MATHEstudium kaum weiterkommen wirst.

Unsinn!

Auf jeden Fall solltest du dir dringend entsprechende Literatur zulegen. Hab ich dir ja schon öfter geschrieben. Du kommst einfach nicht weit ohne dass du die grundlegenden Dinge kennst. Du machst die Fehler über Fehler, und ein Ende ist nicht in Sicht.

Du solltest das Forum nicht überbeanspruchen. Hier gibts Hilfe zur Selbsthilfe, aber nicht alles nachgetragen. Sonst antwortet irgendwann einfach niemand mehr auf deine Fragen.
 
Zuletzt bearbeitet:
Hallo ,
Momentan arbeite ich in einem Projekt und zwar hindernisserkennung mit hilfe ein Kinect Kamera.
Leider bis jetzt hab ich kein Idee wie ich das programmieren kann ,ich habe gelesen dass man das mit hilfe Opencv programmieren kann.
ich bitte um hilfe !vielleicht hat jemand ein Beispiel Programm für Hinderniserkennugmit Opencv.
Vielen Dank Im voraus.
 
Es gibt ein Mini-Tutorial um mit OpenCV auf die Kinect Daten zuzugreifen. Es ist allerdings kein OpenCV-Tut, sondern behandelt wirklich nur den kleinen Aspekt.
http://opencv.itseez.com/doc/user_guide/ug_highgui.html

Was du mit den Daten anfängst, bleibt dann immernoch dir überlassen. Aber es sind in OpenCV jede Menge Standardalgorithmen implementiert, die das ganze stark vereinfachen. Wenn man meinentwegen das Ende eines quaderförmigen Hindernisses im Vordergrund erkennen will, könnte man bspw. einen Kantenerkenner, der bereits in OpenCV implementiert ist, über das Bild der Tiefenkarte laufen lassen. Was so an Algorithmen implementiert ist, kann man der Referenz entnehmen: http://opencv.itseez.com/modules/refman.html
Die Hindernisserkennung wirst du also schon selber bauen müssen, OpenCV ist eben nur ein sehr guter Werkzeugkasten.
 
vielen dank für Ihre Antwort.
ich habe noch ein problem und zwar ich wolte die Daten von Die Kamera(Hinderniserkennung) über Bluetooth zu ein Microkontroller übertragen,haben sie vielleicht ein Idee wie ich das machen oder programmieren kann.
 
Kinect mit Bluetooth

Hallo ,
zurzeit arbeite ich in einem Projekt,da muss ich ein kinekt kamera mit ein Laptop anschliessen und die muss die hindernisse erkennen und die Entfernnung zu ein Objekt über ein Bluetooth zu ein fahrzeug(Microkontroller )senden.
ich hab das Porgramm für Hindernis erkennung geschrieben aber ich weiss nicht wie ich die Objektentfernnung über ein Bluetooth senden kann?
die verbindung zwischen Laptop und Fahrzeug über Bluetooth schon aufgebaut.
hat jemand eine Idee wie ich das machen kann?
ich freue mich auf jede Antwort.
Danke
 
Zurück
Oben