java - 如何确定图像中元素的坐标?

标签 java

我有一张几乎是黑白的图像,它在白色背景上有一个黑色方 block 。我如何确定这个正方形的坐标?

它实际上是扫描的文档,这些方 block 用于扫描图像的校准和定位。我想我需要人工智能和神经网络来实现这一点,但我宁愿使用更简单的东西。我只需要该正方形内像素的坐标。

我可以使用标准 Java API 逐像素读取图像,但这似乎是幼稚的解决方案。

谢谢。

最佳答案

除非您想使用使用相当复杂算法的图像处理框架,否则您必须逐像素读取图像。但是这里有一些技巧可以让任务变得更简单吗?

  1. 矩形有多大?如果您知道它是纯白色且至少 10 像素宽,则可以将图像缩小十分之一。现在您只需要寻找单个白色(或非常浅灰色)的像素。或者,您只能读取每 10 个像素。

  2. 在开始搜索之前裁剪图像,即向 Java 图像 API 询问一行中的所有像素,然后检查它们是否都相同。如果是这样,那么您可以忽略该行。

  3. 当然,现实很少如此尖锐。因此,您需要在图像上运行一个过滤器,如果该像素的 8 个相邻像素中至少有 3 个为白色,则该像素将变为白色;如果超过 6 个相邻像素为黑色,则该过滤器将其变为黑色。

  4. 如果可以的话,从灰色图像开始,然后自己将其转换为黑白图像。这样,您就可以根据需要优化结果(例如,将剪切设置为 60 或 80,而不是 128)。

关于java - 如何确定图像中元素的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583040/

相关文章:

java - 如何将泛型类型的类传递给Java中的方法?

java - 无法为 JSP : The server encountered an internal error that prevented it from fulfilling this request 编译类

java - 尽管位于嵌套 for 循环内,如何返回数组值?

java - 发送文件到 Android 设备

java - 如何让用户连续几个月登录我的网站?

java - 如何使用gson库准备json文件

java - Netbeans 更新后无法调试项目

java - 在 Java 中向上转换 "this"引用是否有意义?

java - Netbeans - 运行特定的 Maven 集成测试

java - Excel-VBA - VBA 中有类似 Javas Set 容器的东西吗?