【问题标题】:Getting coordinates from image in Java Android从Java Android中的图像获取坐标
【发布时间】:2013-02-01 16:03:12
【问题描述】:

我在一个 Android 项目中使用来自 Java 的 BufferedImage。在这个项目中,用户可以选择图像的一小部分。

例如:如果您有一张带有建筑物的公园的图片。用户可以对草进行少量选择,而 android 程序需要保存此选择的坐标。

我想知道 BufferedImage 中是否有支持此功能的功能:让用户选择图像的一小部分(使用触摸屏)并从图像中的这些位置获取坐标。如果没有,我还能做什么?

【问题讨论】:

  • 你的意思是图像是通过相机捕获的......?
  • 图像可以通过相机捕获或仅包含在文件中。 bufferedImage 处理图像文件。
  • 即使您需要存储像 ExifInterface 这样的位置来存储纬度经度,但您仍然需要图像部分的 ltd lngtd

标签: java android image bufferedimage pixels


【解决方案1】:

您可以将点击的像素位置 (x, y)(即光标位置)存储到 SQLite 数据库中,您不需要存储它周围的所有值。如果您想检查该像素周围的点击(带有公差值),以下代码将帮助您:

    int[] xyReceivedPixel = { 15, 20 };
    int[] xyOriginalPixel = { 30, 15 };
    int toleranceValue = 30;

    boolean status = (xyReceivedPixel[0] < xyOriginalPixel[0] + toleranceValue 
            || xyReceivedPixel[0] > xyOriginalPixel[0] - toleranceValue)
            && (xyReceivedPixel[1] < xyOriginalPixel[1] + toleranceValue 
                    || xyReceivedPixel[1] > xyOriginalPixel[1] - toleranceValue);

    System.out.println(status);

这里,xyOriginalPixel 是存储在数据库中的原始像素点,xyReceivedPixel 是再次单击时获得的像素点或要与之比较的像素点。检查xyReceivedPixel是否靠近xyOriginalPixel,最大差异为toleranceValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多