我不知道如何将tesseract-ocr库集成到我的ros项目中,我将qt creator用来代码,并且由于qtcreator自动安装了我使用库的行,但此代码无法编译

#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();
}
.

使用此编译错误

text_detector.cpp:-1:错误:未定义引用tesseract::TessBaseAPI::TessBaseAPI()' text_detector.cpp:-1: error: undefined reference totessEract :: tessbaseapi ::〜tessbaseapi()'

如何将库添加到cmakelists.txt中的项目? 谢谢!

有帮助吗?

解决方案

看起来您没有链接库。您的CMakeLists.txt应该包含

target_link_libraries (<YOUR-EXECUTABLE-NAME>  tesseract)
.

取决于您的cmake文件可能只是生成的icotagcode

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top