【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:二维码识别
本文介绍了昉·星光 VisionFive2 Lite 单板计算机结合 OpenCV 实现二维码识别的项目设计。
项目介绍
VisionFive 2 Lite 结合 OpenCV 实现二维码识别。
- 准备工作:硬件连接、系统安装、软件更新、OpenCV 部署、Qt 平台完善等;
- 二维码识别:包括流程图、代码、优化、效果演示等;
准备工作
包括硬件连接、OpenCV 部署及软件更新等。
硬件连接
包括供电、联网、显示、鼠标键盘输入等。
系统安装
安装和烧录 VisionFive2 Lite 官方 Ubuntu 操作系统。
详见:VF2 Lite 系统安装 。
软件更新
更新软件包
wget https://github.com/starfive-tech/Debian/releases/download/v0.15.0-engineering-release-wayland/install_full.sh
sudo chmod +x install_full.sh
sudo ./install_full.sh
详见: StarFive-Tech | Debian .
OpenCV
包括 OpenCV 安装及版本检测流程。
-
安装 OpenCV
sudo apt update sudo apt install python3-opencv -
安装缺失的 libopencv 包
sudo apt install -y libopencv-dev
- 验证安装结果
python3 -c "import cv2,sys;print(cv2.__version__,sys.version)"
- 输出 OpenCV 版本号
至此,完成 OpenCV 的板端本地部署。
Qt 平台
完整 Qt 环境部署,以便 SSH 正常弹窗显示结果
sudo apt-get install -y libxcb-xinerama0 libxcb-xinput0 libxcb-cursor0
sudo apt-get install -y libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0
sudo apt-get install -y libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0
sudo apt-get install -y libxcb-xkb1 libxkbcommon-x11-0
# 安装Qt相关的库
sudo apt-get install -y libqt5gui5 libqt5widgets5 libqt5core5a
工程代码
终端执行 touch qr_code.py 新建程序文件,并添加如下代码
#!/usr/bin/env python3
import cv2
im = cv2.imread('./img/rvspace.png')
if im is None:
exit('图片读取失败')
qr = cv2.QRCodeDetector()
data, _, _ = qr.detectAndDecode(im)
print(data or '未识别到二维码')
-
终端执行
python qr_code.py指令,运行程序; -
终端打印二维码识别结果;

优化
进一步优化代码,将识别结果显示在二维码上方
#!/usr/bin/env python3
import cv2
img = cv2.imread('./img/rvspace.jpg')
if img is None:
exit('图片读取失败')
qr = cv2.QRCodeDetector()
data, bbox, _ = qr.detectAndDecode(img)
print(data or '未识别到二维码')
if data and bbox is not None:
# 画绿色定位框
pts = bbox[0].astype(int)
cv2.polylines(img, [pts], True, (0, 255, 0), 2)
# 标签区域:左上方,左对齐
x0, y0 = pts[0][0], pts[0][1] # 二维码框左上角
text = data
font = cv2.FONT_HERSHEY_SIMPLEX
scale = 0.8
thick = 1
(tw, th), _ = cv2.getTextSize(text, font, scale, thick)
# 绿色填充条
bg_top = y0 - th - 8
bg_bot = y0 - 2
bg_left = x0
bg_right = x0 + tw + 4
cv2.rectangle(img, (bg_left, bg_top), (bg_right, bg_bot), (0, 255, 0), cv2.FILLED)
# 黑色文字
cv2.putText(img, text, (x0 + 2, y0 - 4), font, scale, (0, 0, 0), thick, cv2.LINE_AA)
else:
cv2.putText(img, 'No QR found', (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 0, 255), 2)
cv2.namedWindow("QR Code", cv2.WINDOW_NORMAL) # 可缩放窗口
cv2.imshow('QR Code', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
保存代码。
效果
-
终端执行
python qr_code_label.py指令,运行程序; -
终端打印二维码识别结果,并弹窗显示;
更多识别效果
总结
本文介绍了昉·星光 VisionFive2 Lite 单板计算机结合 OpenCV 实现二维码识别的项目设计,包括软件源更新、opencv 和 Qt 平台部署、工程代码、优化及效果演示等,为相关产品在边缘 AI 视觉、工业生产、消费电子等领域的快速开发与应用设计提供了参考。


