用于等边三角形检测的霍夫变换
Hough Transform for equilateral triangles detection
我有一个家庭作业,我必须为等边三角形检测实现霍夫变换:
- 三角形的边长为L,所以这意味着图像中的所有三角形都是相同的。
我做了什么?
首先,我使用精明的边缘检测器来获取图像中的边缘。
现在我必须找到一种方法来参数化霍夫变换,我的想法是使用这些参数:
- 三角形的中心。
- 旋转角度theta。
3 trianlges with the same center
我开始实施以下想法,但我认为它比我想象的要难一些,因为:
我必须检查它属于哪个三角形中心的每个边缘点,为此我认为没有办法找到它。
所以有人可以帮助我告诉我我的想法是对还是错吗?
如果参数化很好,我该如何从这一点开始?
如果不是,什么是好的参数化?
这是我的第一个问题,所以我希望它没有我想象的那么糟糕。
谢谢,祝你有愉快的一天。
编辑
添加了带有三角形的输入图像样本
example of input image
我认为这是一个很好的参数化,我用的是同一个。
请注意,对于每个点,你都有它的梯度,这意味着你有它可能属于的三角形角度。
注意等角三角形的角度,这种三角形有3条边,每条边都是+120度,例如:
边缘 1:1
边 2:121 = 1 + 120
边缘 3:241 = 1 + 120 + 120
这意味着每个边缘梯度模数 120 将产生相同的结果。
这意味着给定一个点及其梯度(假设梯度指向三角形内部)你可以很容易地计算出它可能属于的三角形的角度,这样你只需要在霍夫变换中迭代 x,y。
我使用了这些方程式:
https://byjus.com/jee/centre-of-mass-of-equilateral-triangle/#:~:text=In%20geometry%2C%20the%20equilateral%20triangle,the%20three%20sides%20are%20equal.&text=In%20an%20equilateral%20triangle%2C%20the,at%20which%20its%20medians%20meet.
我有一个家庭作业,我必须为等边三角形检测实现霍夫变换:
- 三角形的边长为L,所以这意味着图像中的所有三角形都是相同的。 我做了什么? 首先,我使用精明的边缘检测器来获取图像中的边缘。 现在我必须找到一种方法来参数化霍夫变换,我的想法是使用这些参数:
- 三角形的中心。
- 旋转角度theta。 3 trianlges with the same center 我开始实施以下想法,但我认为它比我想象的要难一些,因为: 我必须检查它属于哪个三角形中心的每个边缘点,为此我认为没有办法找到它。
所以有人可以帮助我告诉我我的想法是对还是错吗?
如果参数化很好,我该如何从这一点开始?
如果不是,什么是好的参数化?
这是我的第一个问题,所以我希望它没有我想象的那么糟糕。 谢谢,祝你有愉快的一天。
编辑
添加了带有三角形的输入图像样本 example of input image
我认为这是一个很好的参数化,我用的是同一个。 请注意,对于每个点,你都有它的梯度,这意味着你有它可能属于的三角形角度。 注意等角三角形的角度,这种三角形有3条边,每条边都是+120度,例如: 边缘 1:1 边 2:121 = 1 + 120 边缘 3:241 = 1 + 120 + 120 这意味着每个边缘梯度模数 120 将产生相同的结果。 这意味着给定一个点及其梯度(假设梯度指向三角形内部)你可以很容易地计算出它可能属于的三角形的角度,这样你只需要在霍夫变换中迭代 x,y。 我使用了这些方程式: https://byjus.com/jee/centre-of-mass-of-equilateral-triangle/#:~:text=In%20geometry%2C%20the%20equilateral%20triangle,the%20three%20sides%20are%20equal.&text=In%20an%20equilateral%20triangle%2C%20the,at%20which%20its%20medians%20meet.