1

我正在开发一个 tess4J 项目并使用 tess4j,我得到了图像中单词的坐标。唯一的问题是,这些是 TIFF 图像的坐标。我的项目涉及在 pdf 文档中的图像上写一层文本。我认为pdf文档的分辨率是72dpi。所以坐标被变形并且放置得太宽了。如果我可以将分辨率从 300 dpi 降低到 72dpi,然后将图像传递给 tessaract,我不会得到我需要的坐标吗?如果没有,还有其他选择吗?已经尝试将坐标乘以 300/72。令人惊讶的是,这不起作用。

提前致谢!

4

2 回答 2

3

要将 300DPI 转换为 72DPI,您需要乘以 72/300,而不是相反。使用浮点数或先乘法再除法,如 (x * 72) / 300。PDF 单位始终为 1/72 英寸。

缩小原始图像不是一个好主意,因为信息的丢失会降低输出文本的质量。

于 2013-04-21T08:43:50.843 回答
0

-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize

{

UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);

[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

NSLog(@"New image has w=%f, h=%f", newImage.size.width, newImage.size.height);

返回新图像;

}

此代码更改任何图像 72 dpi。

于 2013-12-26T06:52:06.600 回答