我正在尝试将图像数据从 Magick++ 移动到 tesseract。
我有 PNG 数据和一些相关信息。
tesseract 方法的签名是:
void SetImage(const unsigned char* imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line);
我可以很好地提供前三个参数。但是 bytes_per_pixel 和 bytes_per_line 我不太确定。图像本身有 11564 像素,但数据的长度只有 356 字节......它主要是带有一些文本的白色图像。 11564/356 = 32.48 这显然不是每个像素的正确字节数。如何获得正确的字节/像素信息?可以只为我桌面上的一张图片或其他东西获取它并将其设置为常量,我正在处理的所有图片都将具有相同的格式。
那么就每行字节数而言,是否只是以像素为单位的图像宽度 * 每像素字节数?
最佳答案
bytes_per_pixel 可以从 PNG 数据中获得。它们通常是 8、24 或 32。
bytes_per_line 也是,但是你可以这样计算:bytes_per_pixel * width/8
关于c++ - 从 PNG 数据到 tesseract,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226959/