我正在尝试做两件事 - >首先,我需要读取图像并裁剪它(坐标/框架将由用户提供)。然后我想对它进行OCR。 (实际上,严格划分OCR的种植)。 现在我的问题:
对于OCR,我使用的是Tesseract,它使用Leptonica API进行图像处理。 由于我正在为嵌入式设备编程,因此我希望将不同库的数量保持在较低水平。所以我最感兴趣的是用Leptonica裁剪我的图像,所以我不需要第三个图书馆来完成这项任务。
所以现在我的问题是,如何用Leptonica剪切画面?还有办法吗?
答案 0 :(得分:3)
非官方文档中有一个例子,似乎包含了裁剪:http://tpgit.github.com/Leptonica/croptext_8c_source.html
更具体地说,你应该创建一个框(即裁剪窗口),然后调用pixClipRectangle()函数来裁剪图像:
BOX* cropWindow = boxCreate(x, y, w, h);
PIX* croppedImage = pixClipRectangle(image, cropWindow, NULL);
答案 1 :(得分:3)
stativ的答案有效, 但 您必须删除已创建的对象:
BOX* box = boxCreate(startX, startY, width, height);
PIX* pixd= pixClipRectangle(pixs, box, NULL);
boxDestroy(&box);
和PIX *有
pixDestroy(&pix);