Ich fummle mit ein bisschen C++/opencv. Ich habe einige der Beispiele gesucht und nicht verwalten, um peopledetect.cpp zu kompilieren/ausführen, die HOGDescriptor
verwendet.Probleme mit HOGDescriptor
Ich habe Setup eine grundlegende Qt Console Anwendung zu testen und das Problem eingrenzen und bekam auf diesen grundlegenden Code:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
using namespace cv;
using namespace std;
int main(){
Mat img = imread("../images/people1.jpg");
HOGDescriptor hog;
namedWindow("people detect test");
imshow("TaDa!",img);
waitKey(5000);
return 1;
}
die wegen dieser Zeile nicht kompiliert: HOGDescriptor hog;
. Hier ist die Kompilierung Ausgang Qt gibt:
Running build steps for project HoGTest...
Configuration unchanged, skipping qmake step.
Starting: "/usr/bin/make" -w
make: Entering directory `/Users/george/Documents/Qt/HoGTest'
g++ -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -o HoGTest main.o -F/Users/george/QtSDK/Desktop/Qt/474/gcc/lib -L/Users/george/QtSDK/Desktop/Qt/474/gcc/lib /opt/local/lib/libopencv_core.2.3.1.dylib /opt/local/lib/libopencv_highgui.2.3.1.dylib -framework QtCore
Undefined symbols:
"vtable for cv::HOGDescriptor", referenced from:
cv::HOGDescriptor::HOGDescriptor()in main.o
cv::HOGDescriptor::~HOGDescriptor()in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [HoGTest] Error 1
make: Leaving directory `/Users/george/Documents/Qt/HoGTest'
The process "/usr/bin/make" exited with code 2.
Error while building project HoGTest (target: Desktop)
When executing build step 'Make'
Leider bin ich ein n00b, wenn es um c kommt ++/opencv, also nicht sicher, was der Fehler genau bedeutet und wie man es beheben. Tipps/Hinweise?
woo hoo! das hat funktioniert^_ ^ –