使用OpenCV和Zb在Python中检测QR码的大小

2024-10-03 23:31:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码,它从网络摄像头中获取图像,使用zBar扫描二维码,然后返回代码值和一个突出显示二维码的图像(基于http://sourceforge.net/p/qrtracker/wiki/Home/)。我怎样才能让它告诉我代码的大小(以像素值或屏幕的百分比表示)?在

另外一个问题:有没有一种方法可以检测它的倾斜程度(例如,在Z轴上绕Y轴旋转)?在


Tags: 代码图像网络httphomenet屏幕wiki
1条回答
网友
1楼 · 发布于 2024-10-03 23:31:14

关于代码的大小

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

QRCode的偏斜

我想你想把它变成一个预先定义好的形状(比如正方形、矩形等等)。如果是,可以定义预定义形状的角点,例如((100100),(300100),(300300),(100300))。然后找到透视变换,如果你愿意的话,应用这个变换。这里提供了OpenCV中的一个示例:http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html#perspective-transformation

相关问题 更多 >