当前位置:主页 > 软件编程 > Python代码 >

python实现健康码查验系统

时间:2022-09-18 11:12:24 | 栏目:Python代码 | 点击:

最近去公司,连续几天被保安查健康码,觉得他们效率有点慢,排了长队,回到家就来兴致,写了个简易的健康码识别系统(主要是针对上海的健康码 随申码,能显示健康码的时间)别的省份的健康码没有去弄,能判别是否绿码,但不能显示时间

我主要用到的是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即可使用

您可能感兴趣的文章:

相关文章