So integrieren Sie die Tesseract-OCR-Bibliothek in eine CMakeLists.text?
Frage
Ich habe keine Ahnung, wie ich die tesseract-ocr-Bibliothek in mein ros-Projekt integrieren soll, ich verwende qt creator zum Codieren und die Bibliothek ist korrekt installiert, da Qtcreator die Zeilen, in denen ich die Bibliothek verwende, automatisch vervollständigt, aber dieser Code nicht kompiliert werden kann
#include "text_detector.h"
#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <cv_bridge/cv_bridge.h>
#include <sensor_msgs/image_encodings.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <tesseract/baseapi.h>
image_transport::Subscriber sub;
image_transport::Publisher imPub;
ros::Publisher textPub;
tesseract::TessBaseAPI tess;
void onImageReceived(const sensor_msgs::ImageConstPtr& msg){
}
int main (int argc, char* argv[]){
ros::init(argc,argv,"text_detector");
ros::NodeHandle nh;
ROS_INFO_STREAM("Starting text detection");
image_transport::ImageTransport it(nh);
imPub = it.advertise("camera_hsv",1);
tess.Init(NULL,"eng",tesseract::OEM_DEFAULT);
sub = it.subscribe("camera_raw",1,&onImageReceived);
// textPub=nh.advertise<>("text",1000);
ros::spin();
}
mit diesem Kompilierungsfehler
text_detektor.kpp:-1:Fehlermeldung:undefinierter Verweis auf
tesseract::TessBaseAPI::TessBaseAPI()' text_detector.cpp:-1: error: undefined reference to
tesseract::TessBaseAPI::~TessBaseAPI()'
Wie kann ich die Bibliothek dem Projekt in den CMakeLists hinzufügen.text?Danke!
Lösung
Sieht so aus, als ob Sie die Bibliothek nicht verknüpfen.Ihrer CMakeLists.txt
sollte enthalten
target_link_libraries (<YOUR-EXECUTABLE-NAME> tesseract)
Abhängig von Ihrer CMake-Datei könnte es nur sein ${PROJECT_NAME}