【问题标题】:Detect the size of a QR Code in Python using OpenCV and Zbar使用 OpenCV 和 Zbar 在 Python 中检测二维码的大小
【发布时间】:2023-03-06 13:07:01
【问题描述】:

我的代码从网络摄像头获取图像,使用 zBar 扫描它以查找 QR 码,并返回代码的值和突出显示 QR 码的图像(基于 http://sourceforge.net/p/qrtracker/wiki/Home/)。我怎样才能让它告诉我代码的大小(作为像素值或屏幕的百分比)?

附加问题:有没有办法检测它的偏斜程度(例如 Z 轴绕 Y 轴旋转)?

【问题讨论】:

    标签: python opencv qr-code zbar


    【解决方案1】:

    关于代码的大小

    zBar 提供了一种根据像素值执行此操作的方法(一旦您知道像素值的大小,您就可以在 % 中找到它)

    我想在这里扩展代码:http://sourceforge.net/apps/mediawiki/zbar/index.php?title=HOWTO:_Scan_images_using_the_API

    上面的代码在图像中找到一个二维码,打印它的数据等。现在检查最后几行代码:

    import math
    scanner.scan(image)
    [a,b,c,d] = x.location   # it returns the four corners of the QR code in an order
    w = math.sqrt((a[0]-b[0])**2 + (a[1]-b[1])**2)  # Just distance between two points
    h = math.sqrt((b[0]-c[0])**2 + (b[1]-c[1])**2)
    Area = w*h
    

    二维码的偏度

    我认为您想将其转换为预定义的形状(如正方形、矩形等)。如果是这样,您可以定义预定义形状的角,例如 ((100,100), (300,100),(300,300),(100,300))。然后找到透视变换并根据需要应用变换。此处提供了 OpenCV 中的示例:http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html#perspective-transformation

    【讨论】:

    • 谢谢,正是我想要的。这个问题真的需要赏金才能引起注意吗?但是,再次感谢并再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多