저는 프로젝트에서 tesseract와 opencv를 사용합니다.opencv와 tesseract 사이에 충돌이 있습니까?
하지만 이미지를 표시 할 때 opencv를 사용할 때 이미지 창만 나타나지만 이미지가 나타나지 않고 완전히 회색이었습니다.
tesseract와 관련된 코드에 주석을 달면 opencv에서 이미지를 제대로 표시 할 수 있습니다.
너무 이상합니다. 어떤 몸이라도 나를 도울 수 있습니까?
미리 감사드립니다.
#include "stdafx.h"
#include <string>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// [1]
const char* imagename = "phototest.tif";
Mat img = imread(imagename);
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
imshow("image", img);
tesseract::TessBaseAPI *myOCR =
new tesseract::TessBaseAPI();
// [2]
printf("Tesseract-ocr version: %s\n",
myOCR->Version());
printf("Leptonica version: %s\n",
getLeptonicaVersion());
// [3]
if (myOCR->Init(NULL, "eng")) {
fprintf(stderr, "Could not initialize tesseract.\n");
exit(1);
}
// [4]
Pix *pix = pixRead("phototest.tif");
myOCR->SetImage(pix);
// [5]
char* outText = myOCR->GetUTF8Text();
printf("OCR output:\n\n");
printf(outText);
// [6]
myOCR->Clear();
myOCR->End();
delete [] outText;
pixDestroy(&pix);
system("pause");
return 0;
}
tesseract를 사용하는 방법과 이미지를 그리는 방법을 보여주는 작은 코드 스 니펫을 제공 할 수 있습니까? 필자는 tesseract를 opencv와 함께 사용했으며 이전에는 문제가 없었습니다. – yiding
확인. 이미 내 코드를 게시했습니다. 매우 간단합니다. 그냥 입력 이미지를 보여주고 싶습니다. – user1866046