Come integrare la libreria Tesseract-OCR in un cmakelists.txt?
Domanda
Non ho idea di come integrare la libreria Tesseract-OCR nel mio progetto ROS, uso QT Creator per codificare e la libreria è installata correttamente poiché QTCreator autocompleti le linee in cui uso la libreria ma questo codice non riesce a compilare .
#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();
}
.
con questo errore di compilazione
.text_detector.cpp: -1: Errore: Riferimento indefinito a
tesseract::TessBaseAPI::TessBaseAPI()' text_detector.cpp:-1: error: undefined reference to
tesseract :: Tessbaseasi :: ~ Tessbaseasi () '
Come posso aggiungere la libreria al progetto in cmakelists.txt? Grazie!
Soluzione
Sembra che tu non stia collegando la libreria.Il tuo CMakeLists.txt
dovrebbe contenere
target_link_libraries (<YOUR-EXECUTABLE-NAME> tesseract)
.
A seconda del tuo file cmake potrebbe essere solo ${PROJECT_NAME}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow