朋友,你能幫我解答一下嗎?opencv,找到位於圖片特定位置的一封信?
我在C++中使用opencv。
我從相機視圖中隨機裁剪一張小圖片。我想找到位於該裁剪圖片底部的單詞,並且該單詞也應該穿過此裁剪圖片的垂直中心線(虛構)。請參見下面的代碼:
char* my_word = do_ocr(my_cropped_image);
和do_ocr功能是這樣的:
char* do_ocr(cv::Mat im)
{
cv::Mat gray;
cv::cvtColor(im, gray, CV_BGR2GRAY);
// ...other image pre-processing here...
// Pass it to Tesseract API
tesseract::TessBaseAPI tess;
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 out;
}
以下是示意圖和my_cropped_image的一些樣品:
my_cropped_image樣品#1,應檢測到「在...之前」的字母:
my_cropped_image樣品#2中,字母 「有利」 應被檢測:
my_cropped_image樣品#3中,字母 「相關性」 應被檢測:
my_cropped_image樣品#4,應檢測到字母「密度」:
my_cropped_image樣品#5,信 「時間」 應該被檢測:
我會欣賞離你幫助來更新我的do_ocr功能。
謝謝你,祝你有美好的一天!