擅长:python、mysql、java
<p>我的项目是在覆盆子上使用QR解码。我用
子进程模块。
这里是我的QR解码功能:</p>
<pre><code>import subprocess
def detect():
"""Detects qr code from camera and returns string that represents that code.
return -- qr code from image as string
"""
subprocess.call(["raspistill -n -t 1 -w 120 -h 120 -o cam.png"],shell=True)
process = subprocess.Popen(["zbarimg -D cam.png"], stdout=subprocess.PIPE, shell=True)
(out, err) = process.communicate()
qr_code = None
# out looks like "QR-code: Xuz213asdY" so you need
# to remove first 8 characters plus whitespaces
if len(out) > 8:
qr_code = out[8:].strip()
return qr_code
</code></pre>
<p>您可以轻松地将参数添加到函数中,如img_widt和img_height
改变这部分代码</p>
<pre><code>"raspistill -n -t 1 -w 120 -h 120 -o cam.png"
</code></pre>
<p>到</p>
<pre><code>"raspistill -n -t 1 -w %d -h %d -o cam.png" % (img_width, img_height)
</code></pre>
<p>如果你想解码不同大小的图像。</p>