Java 的分光变换

您可以读取此变换的理论 在维基百科链接。

说明说明

我在阅读我从IEEEE购买的文章, 以获得一个棋盘网格, 用于编程ChessPdfBrowser应用程序中的函数。

IEEEE 条款 ..


这是一个图书馆,我实施 爪哇的转变。


GitHub也分享图书馆守则。 链接到 GitHub ..

代码描述

由于处理费时,图书馆提供一位执行者,返回未来,以避免在处理过程中阻断打电话者的执行。

使用多个线索很容易支持平行计算。


Radon TransformCalculator 类计算变异值并将其储存在二维阵列中。


处理后,可使用数组指数分析变换值,以获取变换值。

这些指数可以通过在结果对象上调用函数(即Radon TransformResult类型)很容易地转换成一个元素(Rho, Theta)(ffor,___) (ffor,___) 。


还可以获得最大N值,通过容忍让弃鱼的重复(不同(非常接近的))弃鱼选择,同时也可以在(地方)和(地方)之前对不符合我们条件的弃鱼采用过滤器。

例如,如果您正在寻找几乎水平或垂直的线条,并且有一个价值非常高的对角线,那么这个值就可以被丢弃。

视窗窗

Java 的分光变换(2026)

下载下载

实例实例实例实例

image
image

包含图书馆代码的拉链文件包含一个实例,下文将对此作出解释。

这个例子旨在获得确定目标图像中棋盘的方形两侧。

Radon变换计算输入图像是目标图像的边缘探测( Canny 类型) 。


此 Canny 类型图像的变换计算结果, 然后获取四条主线 。

实现这一目的的方法是调用该函数以获得变换的最高值,将四个函数作为要搜索的元素数。

此外,对重复丢弃的弃鱼也给予适当的容忍(,),对几乎不是横向或纵向的弃鱼值也给予适当的容忍。


例如,用这些工具成功地获得了界定棋盘两侧的这四条线。

与图书馆的交叉点可以计算出这些线条的交叉点,从而获得顶点。

还引用了顶点排序器,这样,当线条按顺序绘制时,就不会发生“波纹效应”。


此顶点排序通过顶点顺序的变换进行迭接,直到发现第一个符合适合性标准。

选择的标准是,按此顺序排列的顶端定义了二次曲线多边形(如我们要探测的方形)。

要做到这一点,必须检查顶点的旋转总是朝同一方向(时针或逆时针)进行。

要获得连续三个顶点的旋转方向,只需计算这三个顶点定义的两个矢量的交叉产品的符号。

因此,为界定二次曲线多边形,为界定二次曲线多边形而设立顶峰的必要条件和充分条件是,连续三次顶峰的所有定购子集(假定圆形清单)在以这种方式计算的交叉产品中都有相同的标志。


经过这些计算,我们绘制了连接顶部的边缘, 我们获得了最后的图像。

任务完成!


image
image

下载下载