代码之家  ›  专栏  ›  技术社区  ›  Szere Dyeri

移动设备角点检测算法

  •  5
  • Szere Dyeri  · 技术社区  · 15 年前

    我正试图找到一种很好的算法,可以检测手机图像中的角点。有多种算法可以做到这一点,我不确定哪种算法在内存和处理器有限的环境中性能更好。

    具体地说,我试图在使用手机相机拍摄的照片中找到一个数独网格。我正在使用C,找不到任何具有基本图像处理功能的库。我实现了一个Sobel过滤器来进行边缘检测,这就是我所处的位置。

    为了弄清楚,问题是有人对使用特定的算法或库有什么建议吗?

    3 回复  |  直到 6 年前
        1
  •  2
  •   Andrew Bullock    15 年前

    我不会说“拐角检测”本身就是一个很好的方法。后退一步,想想Sodoku网格的照片,可能有很多可以简化的假设。

    例如,Sodoku网格看起来总是完全相同:

    • 白方
    • 9 x 9常规网格

    treating the image in the HSV colour space 可以让你寻找高亮度区域(白色),对于大多数图像处理技术来说,RGB是一条裤子。

    thresholding the image 然后应该减少噪音

    Adjusting the image histogram 首先可能会给你更好的结果,因为它可能会使网格变白(取决于图像)。

    然后你要做的就是找到一个正方形。因为你知道网格是规则的,你可以相应地将像素分开,并用一个数字来OCR正方形。

    D

        2
  •  2
  •   Dima    15 年前

    由于您正在寻找常规的9x9网格,请考虑 Hough transform

        3
  •  1
  •   Chris McCall    15 年前

    我找到了 OpenCV 在处理图像方面非常有用,我会给自己打分,成为一个相当普通的程序员。

    Here's an example (在C++中,但你可以将它移植)在OpenCV中进行角点检测。