编辑:这只是我房间的一个简单的墙角,没什么特别的......
我正在尝试检测确切的角点,但到目前为止尚未成功。
我尝试使用灰色和双边、掩模和精明,当然还有一些 openCV 角点算法的组合,如 Harris、EigenValsAndVecs、MinEigenVal 等等......
到目前为止,我发现了很多点,或者没有。
请问有什么想法吗?
谢谢
最佳答案
这看起来相当简单。首先计算梯度大小,这将找到三个基本均匀的区域之间的线(下图中的b),然后应用诸如Harris角点检测器之类的东西(或任何其他类型的检测器)也可以)找到直线之间的交点(下图中的c
)。我对 Harris 检测器中的高斯梯度幅度和平滑使用了 4 的 sigma。
我在 MATLAB 中快速完成了此测试,因为它是开放的,但您可以访问相同的 DIPlib我使用的算法(披露:我是 DIPlib 的作者)。它看起来像这样:
import diplib as dip
a = dip.ImageRead('corner.jpg') # you can use OpenCV or PIL or whatever else for reading too
b = dip.GradientMagnitude(a, sigmas=4)
c = dip.HarrisCornerDetector(b, sigmas=4)
关于python - 使用 openCV 检测墙角 - 硬,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69568028/