将300 dpi图像的坐标转换为72 dpi图像的坐标

时间:2013-04-09 08:47:45

标签: coordinates image-resizing tesseract dpi

我正在研究tess4J项目并使用tess4j,我已经获得了图像中单词的坐标。唯一的问题是,这些是TIFF图像的坐标。我的项目涉及在pdf文档中写一层文本覆盖图像。我认为pdf文件的分辨率是72dpi。因此坐标变形并且放置得太广。如果我可以将分辨率从300 dpi降低到72dpi然后将图像传递给tessaract,我不会得到我需要的坐标吗?如果没有,任何替代方案?已经尝试将坐标乘以300/72。令人惊讶的是,这不起作用。

提前致谢!

2 个答案:

答案 0 :(得分:1)

要将300DPI转换为72DPI,您需要乘以72/300,而不是相反。按照浮点或乘法进行,然后进行除法,如(x * 72)/ 300.PDF单位总是1/72英寸。

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

答案 1 :(得分: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);

返回newImage;

}

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