具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明的实施例的搜索引擎抓取网页媒体内容信息的方法100的流程图。方法100具体包括:获取控件的图像,以作为基准图像;对所述基准图像进行处理,以生成第一特征值;在所述图形用户界面中获取检测区域图像;对所述检测区域图像进行处理,以生成第二特征值;以及对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置。
如图1所示,在步骤S101中,获取控件的图像,以作为基准图像。
在本发明的实施例中,图像用户界面是指系统的图形化前端,其包括一个或多个控件,控件是系统底层代码的图形化接口,用户可通过图像用户界面中的控件与操作系统进行交互。在本发明的实施例中,控件可以是图像用户界面中的某个窗口或该窗口中的某些按钮。
图2示出了根据本发明的示例性实施例的图形用户界面。图形用户界面可包括一个或多个控件,该控件可以是图像用户界面中的某个窗口,如图2所示的窗口1,也可以是该窗口中的某些按钮,如窗口1中的按钮2-4。可选地,可通过截取并保存控件的图像,作为基准图像。
如图1所示,在步骤S103中对所述基准图像进行处理,以生成第一特征值。
在本发明的一个示例性实施例中,所述第一特征值是所述基准图像的特征向量的欧式距离。可选地,第一特征值可以是其他距离函数值,如街区距离、马氏距离等,也可以是可以作为特征的相似性度量的其他函数。
在本发明的一个示例性实施例中,步骤S103包括:检测所述基准图像在尺度空间的极值点S103a;根据所述极值点,定位所述基准图像在尺度空间的关键点S103b;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量S103c;以及根据所述特征向量,生成所述第一特征值S103d。
在本发明的一个示例性实施例中,检测所述基准图像在尺度空间的极值点的步骤S103a包括:对图像进行灰度处理;对图像上的点进行高斯变换,以获得尺度轨迹曲线;检测所述尺度轨迹曲线的局部极值点,作为所述尺度空间的极值点。
在本发明的一个示例性实施例中,可通过SIFT(Scale Invariant Feature Transform)特征匹配算法对本发明中的基准图像或检测区域图像进行处理,当然本领域技术人员可以理解,本发明可以通过其他图像处理方法对基准图像或检测区域图像进行处理。在下文中,将以SIFT特征匹配算法作为图像处理的例子,对本发明的原理进行示例性地描述。然而,这只是为了以具体的示例描述本发明,以帮助读者理解本发明的原理,本发明的范围不限于此,而是可以适用于任何图像处理方法。
可选地,首先对获取的基准图像进行灰度处理,处理后的图像的各点的空间坐标为(x,y);可根据公式1中的高斯函数对图像上的点进行高斯变换:
其中σ称为尺度空间因子,其值越小则表征该图像被平滑的越少,相应的尺度也就越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征,获得以下尺度轨迹函数的曲线:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ) (2)
L(x,y,σ=G(x,y,σ)*I(x,y) (3);
其中,I(x,y)为处理后的图像的卷积;k是常数,
相邻两个尺度由k分开,s为每组层数,一般为3~5;
检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点。
可选地,可通过拟合三维二次函数来精确确定关键点。例如,根据所述极值点,可对D(x,y,σ)进行泰勒展开:
其中X=(x,y,σ)T。
可通过对上述公式(4)求导并使其为零,得到所述尺度轨迹曲线的局部极值点偏移量:
可选地,根据公式5中所获得的极值点偏移量,定位所述基准图像在尺度空间的关键点。
可选地,可利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数:
其中m(x,y)和θ(x,y)分别为(x,y)处的梯度的模值和方向公式。可选地,每个关键点可包括三个特征:位置、所处尺度、方向,由此可以确定一个SIFT特征区域;可选地,可将坐标轴旋转为关键点的方向,一个关键点产生128个数据,即形成128维的SIFT特征向量。本领域技术人员可通过本领域公知的任意方式来形成SIFT特征向量,在此不再赘述。
可选地,计算所获得的128维的SIFT特征向量的欧氏距离,生成第一特征值A。本领域技术人员可通过本领域公知的任意方式计算欧氏距离,在此不再赘述。
再参考图1,在步骤S105中,在所述图形用户界面中获取检测区域图像。
在本发明的一个示例性实施例中,步骤S105可包括在所述图形用户界面中选择检测区域;在所述检测区域中获取检测区域图像。
可选地,可根据预先定义的规则,例如预先获得的控件在图形用户界面中各位置可能出现的几率,在图形用户界面中预先定义检测区域,如在图2中所示的图形用户界面中选择其左上角100x100个像素内的图像作为检测区域,并在选择的检测区域中获取检测区域图像。这种方式能够缩小检测范围,提高在图形用户界面中定位控件的效率。
如图1所示,在步骤S107中,对所述检测区域图像进行处理,以生成第二特征值。
在本发明的一个示例性实施例中,所述第二特征值是所述检测区域图像的特征向量的欧式距离。可选地,第二特征值可以是其他距离函数值,如街区距离、马氏距离等,也可以是可以作为特征的相似性度量的其他函数值。
在本发明的一个示例性实施例中,步骤S107可包括:检测所述检测区域图像在尺度空间的极值点107d;根据所述极值点,定位所述检测区域图像在尺度空间的关键点107e;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量107f;以及根据所述特征向量,生成所述第二特征值107g。
在本发明的一个示例性实施例中,步骤107d可包括对检测区域图像进行灰度处理;对检测区域图像上的点进行高斯变换,以获得尺度轨迹曲线;检测所述尺度轨迹曲线的局部极值点,作为所述尺度空间的极值点。
可选地,可通过如上所述的SIFT特征匹配算法对检测区域图像进行处理,当然本领域技术人员可以理解,本发明可以通过其他图像处理方法对基准图像或检测区域图像进行处理。
可选地,首先对检测区域图像进行灰度处理,处理后的图像的各点的空间坐标为(x’,y’);可根据公式1中的高斯函数对图像上的点进行高斯变换,以获得公式2中的尺度轨迹函数的曲线D′(x,y,σ);检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点。
可选地,可通过拟合三维二次函数来精确确定关键点。例如,根据所述极值点,可对D′(x,y,σ)进行泰勒展开。
可通过对公式4中的展开式求导,并使其为零,得到如公式5中所示的尺度轨迹曲线的局部极值点偏移量
可选地,根据公式5中所获得的极值点偏移量
定位所述检测区域图像在尺度空间的关键点。
可选地,可利用关键点邻域像素的梯度方向分布特性为每个关键点指定如公式6和7所示的方向参数m’(x,y)和θ’(x,y)。可选地,可将坐标轴旋转为关键点的方向,一个关键点产生128个数据,即形成128维的SIFT特征向量。
可选地,计算所获得的128维的SIFT特征向量的欧氏距离,生成第二特征值B。
如图1所示,在步骤S109中,对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置。
在本发明的一个示例性实施例中,步骤S109包括:预先设定阈值;计算所述第一特征值和所述第二特征值的商;比较所述阈值与所述商,以确定用户界面控件在检测区域中的位置。
可选地,预先设定阈值α;计算所述第一特征值A和所述第二特征值B的商(A/B);比较所述阈值α与所述商(A/B),如果(A/B)<α,则认为基准图像与检测区域图像是一样的图像,则将用户界面控件定位在检测区域中,从而确定所述控件在所述图形用户界面中的位置。
在本发明的一个示例性实施例中,所述控件是动态控件,且对所述检测区域图像进行处理,以生成第二特征值的步骤S107包括:确定所述动态控件的图像的循环变化周期S107a;在每个周期内选取一个或多个时间点S107b;对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值S107c。
可选地,动态控件可以是在循环变化周期内的不同时间点具有不同图像的控件。例如,图3示出了某控件在其循环变化周期内的时间点a,具有图像5,而图4示出了该控件在该循环变化周期内的时间点b,具有图像6。
在本发明的一个示例性实施例中,所述时间点均匀分布或按特定算法分布。可选地,所述时间点可在每个周期内均匀地分布,例如每n毫秒选择一个时间点,也可以按特定算法分布。可选地,所述时间点是随机分布的。
可选地,可通过如上所述的SIFT特征匹配算法对每个时间点的检测区域图像进行处理,当然本领域技术人员可以理解,本发明可以通过其他图像处理方法对基准图像或检测区域图像进行处理。
可选地,首先对每个时间点t的检测区域图像进行灰度处理,处理后的图像的各点的空间坐标为(x’(t),y(t)’);可根据公式1中的高斯函数对图像上的点进行高斯变换,以获得公式2中的尺度轨迹函数的曲线D′(x(t),y(t),σ);检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点。可通过拟合三维二次函数来精确确定关键点。例如,根据所述极值点,可对D′(x(t),y(t),σ)进行泰勒展开。可通过对公式4中的展开式求导并使其为零,得到如公式5中所示的尺度轨迹曲线的局部极值点偏移量
可选地,根据公式5中所获得的极值点偏移量
定位每个时间点t的检测区域图像在尺度空间的关键点。
可选地,可利用关键点邻域像素的梯度方向分布特性为每个关键点指定如公式6和7所示的方向参数m’(x(t),y(t))和θ’(x(t),y(t))。可选地,可将坐标轴旋转为关键点的方向,一个关键点产生128个数据,即形成对应于每个时间点t的检测区域图像的128维的SIFT特征向量。
可选地,计算对应于每个时间点t的检测区域图像的128维的SIFT特征向量的欧氏距离,生成第二特征值B(t)。
可选地,预先设定阈值α;分别计算所述第一特征值A和每个时间点的第二特征值B(t)的商(A/B(t));比较所述阈值α与所述商(A/B(t)),如果(A/B(t))<α,则认为基准图像与该时间点的检测区域图像是一样的图像,则将用户界面控件定位在检测区域中,从而确定在该时间点时该动态控件在所述图形用户界面中的位置。
图5示出了根据本发明的实施例的搜索引擎抓取网页媒体内容信息的装置200的结构示意图。装置200具体包括:基准图像获取模块S201,适于获取控件的图像,以作为基准图像;第一特征值生成模块S203,适于对所述基准图像进行处理,以生成第一特征值;检测区域图像获取模块S205,适于在所述图形用户界面中获取检测区域图像;第二特征值生成模块S207,适于对所述检测区域图像进行处理,以生成第二特征值;以及相似度计算模块S209,适于对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置。
如图5所示,装置200包括基准图像获取模块S201,适于获取控件的图像,以作为基准图像。
可选地,基准图像获取模块S201适于执行上述方法100中的步骤S101。
根据本发明的示例性实施例,图形用户界面可以是如图2所示的图形用户界面,可包括一个或多个控件,该控件可以是图像用户界面中的某个窗口,如图2所示的窗口1,也可以是该窗口中的某些按钮,如窗口1中的按钮2-4。可选地,可通过截取并保存控件的图像,作为基准图像。
如图5所示,装置200包括第一特征值生成模块S203,适于对所述基准图像进行处理,以生成第一特征值。
可选地,第一特征值生成模块S203适于执行上述方法100中的步骤S103。
在本发明的一个示例性实施例中,所述第一特征值是所述基准图像的特征向量的欧式距离。可选地,第一特征值可以是其他距离函数值,如街区距离、马氏距离等,也可以是可以作为特征的相似性度量的其他函数。
在本发明的一个示例性实施例中,第一特征值生成模块S203适于:检测所述基准图像在尺度空间的极值点;根据所述极值点,定位所述基准图像在尺度空间的关键点;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及根据所述特征向量,生成所述第一特征值。
在本发明的一个示例性实施例中,第一特征值生成模块S203适于:对图像进行灰度处理;对图像上的点进行高斯变换,以获得尺度轨迹曲线;检测所述尺度轨迹曲线的局部极值点,作为所述尺度空间的极值点。
在本发明的一个示例性实施例中,第一特征值生成模块S203可通过SIFT特征匹配算法对本发明中的基准图像或检测区域图像进行处理,当然本领域技术人员可以理解,本发明可以通过其他图像处理方法对基准图像或检测区域图像进行处理。在下文中,将以SIFT特征匹配算法作为图像处理的例子,对本发明的原理进行示例性地描述。然而,这只是为了以具体的示例描述本发明,以帮助读者理解本发明的原理,本发明的范围不限于此,而是可以适用于任何图像处理方法。
可选地,第一特征值生成模块S203首先对获取的基准图像进行灰度处理,处理后的图像的各点的空间坐标为(x,y);第一特征值生成模块S203可根据公式1中的高斯函数对图像上的点进行高斯变换:
其中σ称为尺度空间因子,其值越小则表征该图像被平滑的越少,相应的尺度也就越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征,获得以下尺度轨迹函数的曲线:
D(x,t,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ) (2)
L(x,y,σ)=G(x,y,σ)*I(x,y) (3);
其中,I(x,y)为处理后的图像的卷积;k是常数,
相邻两个尺度由k分开,s为每组层数,一般为3~5;
检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点。
可选地,第一特征值生成模块S203可通过拟合三维二次函数来精确确定关键点。例如,根据所述极值点,可对D(x,y,σ)进行泰勒展开:
其中X=(x,y,σ)T。
可选地,第一特征值生成模块S203可通过对公式(4)求导并使其为零,得到所述尺度轨迹曲线的局部极值点偏移量:
可选地,第一特征值生成模块S203可根据公式5中所获得的极值点偏移量,定位所述基准图像在尺度空间的关键点。
可选地,第一特征值生成模块S203可利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数:
其中m(x,y)和θ(x,y)分别为(x,y)处的梯度的模值和方向公式。可选地,每个关键点可包括三个特征:位置、所处尺度、方向,由此可以确定一个SIFT特征区域;可选地,第一特征值生成模块S203可将坐标轴旋转为关键点的方向,一个关键点产生128个数据,即形成128维的SIFT特征向量。本领域技术人员可通过本领域公知的任意方式来形成SIFT特征向量,在此不再赘述。
可选地,第一特征值生成模块S203可计算所获得的128维的SIFT特征向量的欧氏距离,生成第一特征值A。
再参考图5,装置200包括检测区域图像获取模块S205,适于在所述图形用户界面中获取检测区域图像。
可选地,检测区域图像获取模块S205适于执行上述方法100中的步骤S105。
在本发明的一个示例性实施例中,检测区域图像获取模块S205适于在所述图形用户界面中选择检测区域;在所述检测区域中获取检测区域图像。
可选地,检测区域图像获取模块S205可根据预先定义的规则,例如预先获得的控件在图形用户界面中各位置可能出现的几率,在图形用户界面中预先定义检测区域,如在图2中所示的图形用户界面中选择其左上角100x100个像素内的图像作为检测区域,并在选择的检测区域中获取检测区域图像。这种方式能够缩小检测范围,提高在图形用户界面中定位控件的效率。
如图5所示,装置200包括第二特征值生成模块S207,适于对所述检测区域图像进行处理,以生成第二特征值。
可选地,第二特征值生成模块S207适于执行上述方法100中的步骤S107。
在本发明的一个示例性实施例中,所述第二特征值是所述检测区域图像的特征向量的欧式距离。可选地,第二特征值可以是其他距离函数值,如街区距离、马氏距离等,也可以是可以作为特征的相似性度量的其他函数值。
在本发明的一个示例性实施例中,第二特征值生成模块S207适于:检测所述检测区域图像在尺度空间的极值点;根据所述极值点,定位所述检测区域图像在尺度空间的关键点;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及根据所述特征向量,生成所述第二特征值。
在本发明的一个示例性实施例中,第二特征值生成模块S207适于:对检测区域图像进行灰度处理;对检测区域图像上的点进行高斯变换,以获得尺度轨迹曲线;检测所述尺度轨迹曲线的局部极值点,作为所述尺度空间的极值点。
可选地,第二特征值生成模块S207可通过如上所述的SIFT特征匹配算法对检测区域图像进行处理,当然本领域技术人员可以理解,本发明可以通过其他图像处理方法对基准图像或检测区域图像进行处理。
可选地,第二特征值生成模块S207首先对检测区域图像进行灰度处理,处理后的图像的各点的空间坐标为(x’,y’);可根据公式1中的高斯函数对图像上的点进行高斯变换,以获得公式2中的尺度轨迹函数的曲线D′(x,y,σ);测尺度轨迹曲线的局部极值点,作为尺度空间的极值点;
可选地,第二特征值生成模块S207可通过拟合三维二次函数来精确确定关键点。例如,根据所述极值点,可对D′(x,y,σ)进行泰勒展开,得到如公式4中所示的展开式。第二特征值生成模块S207可通过对公式4中的展开式求导,并使其为零,得到如公式5中所示的尺度轨迹曲线的局部极值点偏移量
可选地,第二特征值生成模块S207可根据公式5中所获得的极值点偏移量
定位所述检测区域图像在尺度空间的关键点。
可选地,第二特征值生成模块S207可利用关键点邻域像素的梯度方向分布特性为每个关键点指定如公式6和7所示的方向参数m’(x,y)和θ’(x,y)。可选地,第二特征值生成模块S207可将坐标轴旋转为关键点的方向,一个关键点产生128个数据,即形成128维的SIFT特征向量。
可选地,第二特征值生成模块S207可计算所获得的128维的SIFT特征向量的欧氏距离,生成第二特征值B。
如图5所示,装置200包括相似度计算模块S209,适于对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置。
可选地,相似度计算模块S209适于执行上述方法100中的步骤S109。
在本发明的一个示例性实施例中,相似度计算模块S209适于:预先设定阈值;计算所述第一特征值和所述第二特征值的商;比较所述阈值与所述商,以确定用户界面控件在检测区域中的位置。
可选地,相似度计算模块S209预先设定阈值α;计算所述第一特征值A和所述第二特征值B的商(A/B);比较所述阈值α与所述商(A/B),如果(A/B)<α,则认为基准图像与检测区域图像是一样的图像,则将用户界面控件定位在检测区域中,从而确定所述控件在所述图形用户界面中的位置。
在本发明的一个示例性实施例中,所述控件是动态控件,且第二特征值生成模块S207适于:确定所述动态控件的图像的循环变化周期;在每个周期内选取一个或多个时间点;对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值。
可选地,动态控件可以是在循环变化周期内的不同时间点具有不同图像的控件。例如,图3示出了某控件在其循环变化周期内的时间点a,具有图像5,而图4示出了该控件在该循环变化周期内的时间点b,具有图像6。
在本发明的一个示例性实施例中,所述时间点均匀分布或按特定算法分布。可选地,所述时间点可在每个周期内均匀地分布,例如每n毫秒选择一个时间点,也可以按特定算法分布。可选地,所述时间点是随机分布的。
可选地,第二特征值生成模块S207可通过如上所述的SIFT特征匹配算法对每个时间点的检测区域图像进行处理,当然本领域技术人员可以理解,本发明可以通过其他图像处理方法对基准图像或检测区域图像进行处理。
可选地,第二特征值生成模块S207首先对每个时间点t的检测区域图像进行灰度处理,处理后的图像的各点的空间坐标为(x’(t),y(t)’);第二特征值生成模块S207可根据公式1中的高斯函数对图像上的点进行高斯变换,以获得公式2中的尺度轨迹函数的曲线D′(x(t),y(t),σ),检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点;第二特征值生成模块S207可通过拟合三维二次函数来精确确定关键点。例如,根据所述极值点,可对D′(x(t),y(t),σ)进行泰勒展开,得到公式4所示的展开式,可通过对公式4中的展开式求导并使其为零,得到如公式5中所示的尺度轨迹曲线的局部极值点偏移量
可选地,第二特征值生成模块S207可根据公式5中所获得的极值点偏移量
定位每个时间点t的检测区域图像在尺度空间的关键点。
可选地,第二特征值生成模块S207可利用关键点邻域像素的梯度方向分布特性为每个关键点指定如公式6和7所示的方向参数m’9x(t),y(t))和θ’(x(t),y(t))。可选地,第二特征值生成模块S207可将坐标轴旋转为关键点的方向,一个关键点产生128个数据,即形成对应于每个时间点t的检测区域图像的128维的SIFT特征向量。
可选地,第二特征值生成模块S207计算对应于每个时间点t的检测区域图像的128维的SIFT特征向量的欧氏距离,生成第二特征值B(t)。
可选地,第二特征值生成模块S207可预先设定阈值α;分别计算所述第一特征值A和每个时间点的第二特征值B(t)的商(A/B(t));比较所述阈值α与所述商(A/B(t)),如果(A/B(t))<α,则认为基准图像与该时间点的检测区域图像是一样的图像,则将用户界面控件定位在检测区域中,从而确定在该时间点时该动态控件在所述图形用户界面中的位置。
根据本发明,提供了上述用于在图形用户界面中定位控件的方法和装置。根据本发明的实施例,该方法和装置能够利用图形匹配来定位、识别标准图形控件、非标准图形控件和/或动态图形控件,实现了高准确度定位、识别标准图形控件、非标准图形控件和/或动态图形控件;该方法和装置不依赖于操作系统的底层应用程序编程接口,可以用于任意操作系统中;该方法和装置可适应图形用户界面的快速迭代修改,即使在图形控件变化频繁时,也只涉及对基准图片的修改,仅需要对自动化测试程序逻辑进行少量修改,因而能够更有效地进行自动化测试。
A1.一种用于在图形用户界面中定位控件的方法(100),包括步骤:
获取控件的图像,以作为基准图像(S101);
对所述基准图像进行处理,以生成第一特征值(S103);
在所述图形用户界面中获取检测区域图像(S105);
对所述检测区域图像进行处理,以生成第二特征值(S107);以及
对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置(S109)。
A2.如权利要求1所述的方法,其中对所述基准图像进行处理,以生成第一特征值(S103)的步骤包括:
检测所述基准图像在尺度空间的极值点(S103a);
根据所述极值点,定位所述基准图像在尺度空间的关键点(S103b);
为每个关键点指定方向参数,以生成相应于每个关键点的特征向量(S103c);以及
根据所述特征向量,生成所述第一特征值(S103d)。
A3.如权利要求1所述的方法,其中在所述图形用户界面中获取检测区域图像(S105)的步骤包括:
在所述图形用户界面中选择检测区域;
在所述检测区域中获取检测区域图像。
A4.如权利要求1所述的方法,其中所述控件是动态控件,且对所述检测区域图像进行处理,以生成第二特征值(S107)的步骤包括:
确定所述动态控件的图像的循环变化周期(S107a);
在每个周期内选取一个或多个时间点(S107b);
对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值(S107c)。
A5.如权利要求1或4所述的方法,其中对所述检测区域图像进行处理,以生成第二特征值(S107,S107c)的步骤包括:
检测所述检测区域图像在尺度空间的极值点(S107d);
根据所述极值点,定位所述检测区域图像在尺度空间的关键点(S107e);
为每个关键点指定方向参数,以生成相应于每个关键点的特征向量(S107f);以及
根据所述特征向量,生成所述第二特征值(S107g)。
A6.如权利要求4所述的方法,其中所述时间点均匀分布或按特定算法分布。
A7.如权利要求1或4所述的方法,其中对所述第一特征值和所述第二特征值进行相似度计算,以确定控件在检测区域中的位置(S109)的步骤包括:
预先设定阈值;
计算所述第一特征值和所述第二特征值的商;
比较所述阈值与所述商,以确定用户界面控件在检测区域中的位置。
A8.如权利要求2或5所述的方法,其中检测尺度空间的极值点(S103a,S107d)的步骤包括:
对图像进行灰度处理;
对图像上的点进行高斯变换,以获得尺度轨迹曲线;
检测所述尺度轨迹曲线的局部极值点,作为所述尺度空间的极值点。
A9.如权利要求2或5所述的方法,其中所述第一特征值是所述基准图像的特征向量的欧式距离,且所述第二特征值是所述检测区域图像的特征向量的欧式距离。
A10.一种用于在图形用户界面中定位控件的装置(200),包括:
基准图像获取模块(S201),适于获取控件的图像,以作为基准图像;
第一特征值生成模块(S203),适于对所述基准图像进行处理,以生成第一特征值;
检测区域图像获取模块(S205),适于在所述图形用户界面中获取检测区域图像;
第二特征值生成模块(S207),适于对所述检测区域图像进行处理,以生成第二特征值;以及
相似度计算模块(S209),适于对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置。
A11.如权利要求10所述的装置,其中所述第一特征值生成模块(S203)适于:
检测所述基准图像在尺度空间的极值点;
根据所述极值点,定位所述基准图像在尺度空间的关键点;
为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及
根据所述特征向量,生成所述第一特征值。
A12.如权利要求10所述的装置,其中所述检测区域图像获取模块(S205)适于:
在所述图形用户界面中选择检测区域;
在所述检测区域中获取检测区域图像。
A13.如权利要求9所述的装置,其中所述控件是动态控件,且所述第二特征值生成模块(S207)适于:
确定所述动态控件的图像的循环变化周期;
在每个周期内选取一个或多个时间点;
对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值。
A14.如权利要求10或13所述的装置,其中所述第二特征值生成模块(S207)适于:
检测所述检测区域图像在尺度空间的极值点;
根据所述极值点,定位所述检测区域图像在尺度空间的关键点;
为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及
根据所述特征向量,生成所述第二特征值。
A15.如权利要求13所述的装置,其中所述时间点均匀分布或按特定算法分布。
A16.如权利要求10或13所述的装置,其中所述相似度计算模块(S209)适于:
预先设定阈值;
计算所述第一特征值和所述第二特征值的商;
比较所述阈值与所述商,以确定用户界面控件在检测区域中的位置。
A17.如权利要求11或14所述的装置,其中所述第一特征值生成模块(S203)和所述第二特征值生成模块(S207)适于:
对图像进行灰度处理;
对图像上的点进行高斯变换,以获得尺度轨迹曲线;
检测所述尺度轨迹曲线的局部极值点,作为所述尺度空间的极值点。
A18.如权利要求11或14所述的装置,其中所述第一特征值是所述基准图像的特征向量的欧式距离,且所述第二特征值是所述检测区域图像的特征向量的欧式距离。
在此提供的方法和装置不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。