2014-04-01 58 views
1

我下載了tesseract,並且我想在C++代碼中使用它。 但我得到這些錯誤:在Ubuntu下使用tesseract

TessOp.cpp:6:39: fatal error: tesseract-ocr/api/baseapi.h: No such file or directory 

在我的代碼我也用OpenCV的,這是我的代碼:

#include <opencv2/highgui/highgui.hpp> 
#include <opencv2/imgproc/imgproc.hpp> 
#include <tesseract-ocr/api/baseapi.h> 
#include <iostream> 

int main(int argc, char** argv) 
{ 
    // Load image 
    cv::Mat im = cv::imread("1.png"); 
    if (im.empty()) 
    { 
     std::cout << "Cannot open source image!" << std::endl; 
     return -1; 
    } 

    cv::Mat gray; 
    cv::cvtColor(im, gray, CV_BGR2GRAY); 
    // ...other image pre-processing here... 
    //Mat binary_image; 
    //threshold(gray,binary_image, 25, 255, CV_THRESH_BINARY); 
    //imshow("binary_image",binary_image); 

    // Pass it to Tesseract API 
    tesseract::TessBaseAPI tess; 
    //tess.Init("C:/Tesseract-OCR/tessdata/", "eng"); 
    tess.Init(NULL, "eng", tesseract::OEM_DEFAULT); 
    tess.SetPageSegMode(tesseract::PSM_SINGLE_BLOCK); 
    tess.SetImage((uchar*)gray.data, gray.cols, gray.rows, 1, gray.cols); 

    // Get the text 
    char* out = tess.GetUTF8Text(); 
    std::cout << out << std::endl; 

    return 0; 
} 

我把文件中的示例文件夾中的OpenCV目錄,因爲我使用的OpenCV代碼;我使用以下命令運行該文件:

g++ `pkg-config opencv --cflags` my_code.cpp -o my_code `pkg-config opencv --libs` 
+0

我面臨同樣的問題。讓我知道如何解決這個問題? – Mahesh

回答

1

您未添加tesseract的包含目錄,也沒有將其鏈接。 將以下內容添加到命令行中

-I/usr/local/include/tesseract -ltesseract