基于Python与OpenCV的上海随申码实时查验系统

何川
何川
发布时间:2026-10-15| 3人浏览过
原创

本文介绍使用Python、OpenCV及pyzbar库构建的简易健康码查验系统。系统通过笔记本摄像头实时扫描上海随申码,利用HSV色彩空间判断绿码状态,并结合二维码解析获取显示时间。当扫码时间与系统时间偏差超过两分钟时判定为过期,提供本地化部署方案及测试程序下载。

系统背景与设计目标

近期在公司入口处,因保安查验健康码效率较低导致排队现象频发,由此激发了开发一个简易健康码识别系统的想法。该程序主要针对上海地区的随申码进行优化,能够准确显示健康码的生成时间。对于其他省份的健康码,系统仅能判别是否为绿码状态,暂不支持时间显示功能。

技术栈与运行效果

项目核心基于Python语言开发,主要依赖OpenCV图像处理库和pyzbar二维码解析库。程序运行后的实际检测效果如下图所示。

实时检测机制

测试环境为笔记本电脑,程序直接调用内置摄像头进行实时检测。当摄像头捕捉到健康码二维码时,系统会即时显示识别结果。

绿码判定与过期逻辑

系统能够区分绿码与非绿码状态。针对上海随申码,程序会提取并显示二维码内包含的时间信息(即健康码生成时间,而非当前电脑系统时间)。若提取的健康码时间与电脑系统时间相差超过两分钟,系统将判定该二维码已过期。

颜色识别核心代码

以下是判断健康码颜色状态的核心代码逻辑部分。

# 颜色范围定义
color_dist = {
    'red': {'Lower': np.array([0, 60, 60]), 'Upper': np.array([6, 255, 255])},
    'green': {'Lower': np.array([35, 43, 35]), 'Upper': np.array([90, 255, 255])},
}
# 检测颜色
def detect_color(image, color):
    gs = cv2.GaussianBlur(image, (5, 5), 0)  # 高斯模糊
    hsv = cv2.cvtColor(gs, cv2.COLOR_BGR2HSV)  # HSV
    inRange_hsv = cv2.inRange(hsv, color_dist[color]['Lower'], color_dist[color]['Upper']) #返回mask
    image_s = image.shape[0]*image.shape[1] #图片面积
    ratio = sum(sum(inRange_hsv//255))/image_s
    if ratio > 0.1 :
        return True
    else:
        return False

程序打包与使用指南

为了方便使用,已将完整工程打包为可执行的exe文件。

可通过以下百度云链接获取资源:

链接: https://pan.baidu.com/s/149xXXKARooXo48F2AOSnsQ?pwd=15xu 提取码: 15xu

下载并解压文件后,进入test文件夹,双击运行其中的test.exe即可开始使用。

以上就是关于利用Python实现健康码查验系统的详细介绍。如需了解更多Python相关技术内容,欢迎查阅本站过往文章或继续浏览后续教程,感谢大家的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。