【问题标题】:Python Targeting SystemPython 定位系统
【发布时间】:2013-03-06 04:31:53
【问题描述】:

我正在做一个项目,我需要对 Raspberry Pi 进行编程以从网络摄像头获取图像,在该图像中搜索一个盒子,并通过它的大小比识别它是什么盒子。这些盒子将是环境其余部分的独特颜色。确定从盒子到盒子的距离和角度也很好。

我所看到的一切似乎都表明这应该是可能的,但经过几天的搜索,我还没有找到任何真正帮助我做到这一点的东西。这个项目是我第一次使用 Python,所以我很新手。任何帮助,即使是如何做到这一点的一小部分,将不胜感激。

到目前为止,这是我的工作代码。这并不多,它所做的只是从网络摄像头中抓取图像:/

import imgproc
from img imgproc *
camera = Camera(160, 120)
viewer = Viewer(160, 120)
n = 1
while (n > 0):
     img = camera.grabImage()
     viewer.displayImage(img)

【问题讨论】:

    标签: python computer-vision webcam raspberry-pi targeting


    【解决方案1】:

    这不是一个完整的解决方案,但是关于如何开始的一些好主意:)

    首先,有用于 OpenCV 的 Python 绑定,这是一个最初用 C 语言编写的开源免费计算机视觉库:http://opencv.willowgarage.com/documentation/python/index.html

    解决计算机视觉问题时,您要做的第一件事就是预处理。特别是,知道盒子是不同的颜色有很多帮助——这意味着我们可以通过颜色进行阈值化,并使用@987654322 中的技术创建一个图像,在没有盒子的地方是黑色的,在盒子所在的地方是白色的@.

    然后,您将遵循类似于本博客中描述的数独抓取器/求解器的过程 - 您进行 blob 提取 (http://en.wikipedia.org/wiki/Blob_extraction),然后进行霍夫变换以获取线条,然后您可以比较线条的距离相互确定盒子的比例。 http://aishack.in/tutorials/sudoku-grabber-with-opencv-plot/

    几乎只是阅读人们的 OpenCV 数独求解器,直到您了解它是如何完成的,因为有很多很好的教程,并且它是计算机视觉项目如何进行的简单说明:https://www.google.com.au/search?q=sudoku+opencv&aq=f&oq=sudoku+opencv&aqs=chrome.0.57j60l3j0l2.1506&sourceid=chrome&ie=UTF-8

    【讨论】:

      【解决方案2】:

      您可能想尝试从 github 存储库安装 SimpleCV。使用 SimpleCV,您应该能够使用 Image.hueDistance 命令获取 blob 的颜色。如果您使用 findBlobs 命令查找框,则每个 blob 都应将其纵横比作为参数。我们刚刚发布了关于 SimpleCV here 的完整 PyCon 教程。您可以只查看幻灯片here。我们听说在 RaspberryPi 上安装 PyGame(一个 SimpleCV 依赖项)存在一些问题。 This walk through might address those issues.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-12
        • 2012-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多