【问题标题】:Recognizing a PIECE of a QR-code with Python用 Python 识别一段 QR 码
【发布时间】:2013-11-29 19:58:50
【问题描述】:

我和一些同学正在为学校做一个项目。快速描述我们当前的问题:

我们已经制造了一辆汽车,并为它配备了 Raspberry Pi 和摄像头。当一个二维码放在相机前面时,我们可以命令相机对其进行拍照。通过使用外部 Python 模块 (qr-tools),树莓派可以自动解码二维码。

当相机只能看到 QR 码的(小)部分时,解码过程会失败(如预期的那样)。我们想知道是否有一种简单方法可以检测图像中的 QR 码部分。这样一来,Raspberry Pi 就可以重新定位车辆,以便在摄像头上捕获整个 QR 码。

这里的关键词是“简单”。我们还有几天的时间来改进我们当前的车辆,而这个问题的解决方案将是一个不错的添加功能。

编辑:我错误地链接了错误的模块。

【问题讨论】:

    标签: python camera raspberry-pi qr-code image-recognition


    【解决方案1】:

    我假设您正在尝试识别与相机视图边缘重叠的二维码。在这种情况下,您可以检查图像的四个边缘是否有高对比度区域(在黑白之间交替),如果发现任何区域,请转向相应的方向。

    这是一个示例,使用 random image from Flickr(重复边缘像素):

    我建议区分所有四个边缘的灰度值并计算绝对差值的滚动平均值。峰值最高的一方是最好的选择。

    作为参考,这里是我从上面的图像(以灰色显示)计算的亮度值,以及在 ±20 像素窗口上平均绝对差异的结果:

    如您所见,图像顶部的天窗(或其他任何东西)会出现问题,但前景中的二维码仍会产生最高峰值。

    【讨论】:

    • 感谢您的回答 - 看起来完成这项工作应该不会太难。但是,目前,我正在研究使用 opencv 的数字图像相关和跟踪 (DIC/DDIT)。这是用于测量光学鼠标运动的技术。如果我们可以将它应用到我们的车辆上,它可能能够准确地行驶,然后二维码就会出现在摄像头的正前方(这将消除识别二维码的需要)。但是,如果这种方法不起作用,我们可能会实施您的解决方案,假设它可以在一两天内完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 2021-04-10
    相关资源
    最近更新 更多