【问题标题】:Detect wall corner with openCV - Hard使用 openCV 检测墙角 - 硬
【发布时间】:2021-12-02 16:09:11
【问题描述】:

我有这张图片(对不起尺寸):

编辑:这只是我房间的一个简单的墙角,没什么特别的......

我正在尝试检测确切的角落,但到目前为止未能做到。 我尝试使用灰色和双边、掩码和精明,当然还有一些 openCV 角点算法的组合,如 Harris、EigenValsAndVecs、MinEigenVal 等等...... 到目前为止,我找到了很多点,或者没有。
请问有什么办法吗?

谢谢

【问题讨论】:

    标签: python opencv image-processing opencv-python corner-detection


    【解决方案1】:

    这看起来相当简单。首先计算梯度幅度,这将找到三个基本一致的区域之间的线(下图中的b),然后应用类似 Harris 角点检测器(或任何其他变体也可以)来找到直线之间的交点(下图中的c)。我对高斯梯度幅度和 Harris 检测器中的平滑都使用了 sigma 4。

    我在 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)
    

    【讨论】:

    • 谢谢!很有帮助!
    猜你喜欢
    • 2015-11-24
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 2018-02-28
    • 2018-11-19
    • 2012-11-16
    • 1970-01-01
    相关资源
    最近更新 更多