Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中实现Hough循环_Java_Image Processing_Computer Vision_Hough Transform - Fatal编程技术网

如何在Java中实现Hough循环

如何在Java中实现Hough循环,java,image-processing,computer-vision,hough-transform,Java,Image Processing,Computer Vision,Hough Transform,我想找到一个圆形物体(眼睛的虹膜,我使用了Haar Cascase和viola-Jones算法)。所以我发现hough圆是正确的方法。有人能告诉我如何用Java实现Hough circle,或者用Java实现其他简单的iris吗 谢谢,对Hough变换有一个非常清晰的解释和一个工作示例。直接从那篇论文中生成一个实现并不困难,因此这是一个很好的开始。过去我已经玩过好几次了。 如果您想要或需要修改源代码,您可以查看源代码。如果您想要找到虹膜,您应该对此直截了当。你所追求的虹膜部分实际上被称为角膜缘。

我想找到一个圆形物体(眼睛的虹膜,我使用了Haar Cascase和viola-Jones算法)。所以我发现hough圆是正确的方法。有人能告诉我如何用Java实现Hough circle,或者用Java实现其他简单的iris吗

谢谢,

对Hough变换有一个非常清晰的解释和一个工作示例。直接从那篇论文中生成一个实现并不困难,因此这是一个很好的开始。过去我已经玩过好几次了。
如果您想要或需要修改源代码,您可以查看源代码。

如果您想要找到虹膜,您应该对此直截了当。你所追求的虹膜部分实际上被称为角膜缘。还请注意,角膜缘的对比度远低于瞳孔的对比度,因此,如果图像分辨率允许,瞳孔是更好的目标。从1开始,Java就不是一种很好的编程语言。它是缓慢的,而处理是激烈的;2.由于经典的Hough circle需要3D累加器,而Java可能意味着使用手机,因此内存需求将非常苛刻

你可以做的是使用一个事实,即图像中可能只有一个(或只有几个)边缘。首先要做的是通过使用定向边将问题的维数从3降到2:提取同时表示边方向的水平和垂直边(它们可以被视为边向量的水平和垂直分量)。简单的想法是边缘向量的主要交点是角膜缘的中心。要找到交点,只需要两条定向边,而不是定义圆的三个点。因此,维数从3降到2

您也不需要使用带有巨大累加器和大量计算的经典Hough圆变换来找到此交点。随机化的Hough会快得多。下面是它的工作原理(~到RANSAC):随机选择最少数量的定向边(在您的案例2中),找到交点,然后找到所有在大致相同位置相交的边。这些是内线。您只需重复10-30次,选择两条边的不同随机样本,以在具有最大内联线数的集合中进行设置。希望这些入口位于边缘。内部光线交点的中值将给出圆的中心,从中心到内部光线的中值距离是半径

在下图中,明亮的颜色对应于内线,方向显示为小线段。原始边缘的集合显示在中间(仅水平)。当原始边位于椭圆上时,通过仿射变换对Hough边进行变换,使属于边缘的边位于圆上。还要注意,边缘方向非常嘈杂