python - 使用 openCV 检测墙角 - 硬

标签 python image-processing opencv corner-detection

我有这张图片(抱歉尺寸太大):wall corner

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

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

谢谢

最佳答案

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

output

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

相关文章:

python - 带前导零的随机数

python - Sqlalchemy order_by 自定义排序?

matlab - 根据另一个矩阵的值将矩阵值分组为单独的矩阵

android - 如何在覆盖其他图像后合并/保存图像?

c - 处理图像时,它在 GTK 中得到奇怪的颜色

java - Opencv Android上的矩阵乘法给出断言错误

c++ - 只有三分之一的图像是用 OpenCV 编写的

python - 注意到在 Python 中使用 BeautifulSoup 限制抓取结果的警告

python - 如何在python中检查xml标签值是否为none

python - 如何检测图像中的纸板箱?