English 中文(简体)
如何识别/识别屏幕/屏幕截图上不同类型的对象(文字字段、标签、按钮等)?
原标题:How to recognize/identify different types of objects (textfields, labels, buttons etc) on screen/ from screenshots?

我想做一些能够识别屏幕上不同对象的东西。 假设我用文字字段、 标签和按钮在窗口上截取一个截图。 我想通过图像, 它应该能够区分一个和另一个。 换句话说, 它应该将名称文本字段放在文本字段所在位置的顶部, 按钮顶部的按钮和标签顶部的标签上 。

以下是互联网上的样本图像, 以可视化注册窗口 : http://kb.parallels.com/Attachments/128288/Imags/registration1.jpg

我想在爪哇这样做,但我不确定这是否可行。有人知道我应该在哪里开始寻找吗? 边缘检测? 特征检测? OCR/ICR?

这已经存在了吗?

有人能指引我到正确的方向吗?

谢谢!

问题回答

这就是我如何处理它的方式:

A) 标识/ 分层 。 在不知道您的数据的情况下, 您可能会使用“ 寻找不到一半窗口区域的矩形( 或接近矩形的某处, 因为边缘是四舍五入的) ” (取决于您的数据...) 。

B) 分类。 个人而言, 我将您发现的每个对象缩放到 100 * 100 大小( 或者, 随便什么), 并将其与样本数据进行比较( 是的, 您可以将一个微型复选框缩放到这个大小 。 它看起来不漂亮, 但并不重要 ) 。 要么是“ 粗力 ” ( 这也是我缩放的原因), 要么是某种不错的分类算法 。 ( 不要使用神经网络, 去 SVM 或最近的邻居 ) 。 对于分类, 我主要在矩形内查看直方图和形状因/ 动作 。 如果文本混淆了数据, 在分类前用一些形态学来去除它 。

Textfield 有点棘手, 但为此, 我使用一些 OCR 库, 并查看整个图片 。 ( 个人而言, 我对IMAQ 做了很好的工作, 但是它是商业性的 ) 。 如果文本在框外, 你就会给自己贴上标签 。

你也许该看看OpenCV





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签