【问题标题】:Get image size in pixels from DPI (dot per inch) android从DPI(每英寸点数)android获取以像素为单位的图像大小
【发布时间】:2014-06-03 03:08:09
【问题描述】:

我尝试在 android 中获取 tesseract 的最小图像大小,从 300 dpipixel。我发现 this answer 告诉我如何将 dp 转换为像素,但似乎这不是我需要的,因为 dp = dip = Density-independent pixel (如果我错了,请纠正我)。例如,如果我有一个大小为 1024 x 768 像素的图像,那么如何根据每英寸 300 (dpi) 点来获得它的大小?

【问题讨论】:

  • 小心,dp == dip(与密度无关的像素),但 dp != dpi(每英寸点数)。您需要的究竟是什么转换?
  • 我需要将 dpi(每英寸点数)转换为像素,说我有尺寸为 1024 x 768 像素的图像,我需要获得 300 dpi 的尺寸
  • 每英寸点数不能转换为像素,它们测量不同的东西。这就像试图将 km/s 转换为米一样。
  • 好的,你的意思是 dpi 是图像上像素的密度,而像素是图像的大小?
  • 是的,图像或显示器(例如,nexus 5 有一个 450 dpi 的屏幕,也就是 1920 像素高——这意味着它是 4.2 英寸高)。回到你原来的问题,我不完全确定你需要什么转换:/

标签: android tesseract dpi


【解决方案1】:

位图没有“固有”密度,只有分辨率(即x by y 像素)。

图像文件可能包含有关 DPI 的信息,但这仅用于映射到物理尺寸(即用于打印)。例如,分辨率为 96dpi 的 800px * 600px 图像将打印为 8.33in * 6.25in,而分辨率越高,打印区域就越小。

因此,“像素到 dpi”不是有效的转换——它有点像将距离转换为速度。

我不确定 tesseract 的要求,但如果它接收 位图 作为输入,那么它将“处理像素”,所以我认为 300dpi 的要求没有意义-- 这可能是从特定(物理)字体大小的扫描文本中获得良好结果的经验法则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多