python - 使用OpenCV和Zbar在Python中检测QR码的大小

标签 python opencv qr-code zbar

我有一些代码,可以从网络摄像头中获取图像,然后使用zBar扫描QR码,并返回代码的值和QR码突出显示的图像(基于http://sourceforge.net/p/qrtracker/wiki/Home/)。我还如何使它告诉我代码的大小(以像素值或屏幕百分比表示)?

另一个问题:是否有办法检测其倾斜度(例如Z绕Y轴旋转)?

最佳答案

关于代码的大小

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

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

上面的代码在图像中找到QR码,打印其数据等。现在检查最后几行代码:

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

QRCode的偏斜

我认为您想将其转换为预定义的形状(例如正方形,矩形等)。如果是这样,则可以定义预定义形状的角,例如((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

关于python - 使用OpenCV和Zbar在Python中检测QR码的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22743213/

相关文章:

python-3.x - 是否可以将我自己的 Python 解释器与 Conda 的 OpenCV python 库一起使用?

javascript - 如何在 python(Django) 中获取 csrf_token

python - ModuleNotFoundError:没有名为 '...' 的模块

c++ - cvFindContours 是如何工作的?

ios - 带扫描指示器的条形码阅读器

laravel - Laravel SimpleQrcode 遇到格式不正确的数值

创建中间带有 Logo 的自定义 QR 代码的 Javascript 库?

python - 在 python shell 中加载 python 脚本,就像您键入它一样

python - 我应该如何绘制 XYZ 数据点以在 python 中创建 RGB 深度图像

opencv - OpenCV简短描述符少于关键点