基于paddleocr的行程风险测评系统

2024-03-01 10:59

本文主要是介绍基于paddleocr的行程风险测评系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

任务需求

解决思路

具体实现

环境配置

识别算法

正则匹配

结果写入

总代码

main.py

ocr.py

search.py

结果示意

程序使用说明及风险

打包虚拟环境

全部依赖包


原创的概念:只要把查到的资源充分吸收理解,产出新的内容,就是原创

链接:https://pan.baidu.com/s/18sEKO8dac5AlejyJMFGKZA 
提取码:0505 
--来自百度网盘超级会员V4的分享

任务需求

以大型培训班、教育为背景,来自五湖四海的学生教师通常需要进行来往地区的风险测评。我们需要每天对人员进行风险筛查,判断是否有学员、教师来自中高风险地区;筛查后还要有专门人员对风险地区名单进行复查,防止误判。此外,风险筛查情况需要实时更新,防止疫情风险情况更新而没有及时采取有效措施。

例:10.1日风险地区有:A省B市,A省C市
​
成员1 来自A省B市,成员2 来自F省G市,……                             成员1来自中高风险地区
​10.2日风险地区有:A省B市,A省C市,F省G市
​
成员1 来自A省B市,成员2 来自F省G市,……                             成员1、2来自中高风险地区
​10.3日风险地区有:A省C市,F省G市
​
成员1 来自A省B市,成员2 来自F省G市,……                             成员2来自中高风险地区

解决思路

  1. 收集每个成员的行程码,使用百度API对图像进行文字提取;再用正则表达式提取出其中的行程。由于行程码需要每天上交,所以似乎不需要将结果进行存储。

  2. 将每个人的行程在官方下发的Word文档中查找,记录每个人的结果(是否途径风险地区)

  3. 结果写入Excel,并保证每日更新

注:这次要求做一个简单的小程序,不涉及Web、服务器等复杂内容,这反而让我和我的电脑有点点不适应,因为很多conda环境是在服务器上的😄

具体实现

环境配置

        这次的核心识别使用的是百度飞桨,因为之前用过的easyocr是以本机深度学习环境为基础的,所以如果长期使用CPU运行势必遭到“反噬”,因此这次使用百度飞桨paddlepaddle、paddleocr两个库作为核心算法。

在本机配置好anaconda的环境后,开始创建虚拟环境搭建运行依赖(python3.8)。

conda create -n paddle38 python=3.8

接下来,安装paddlepaddle、paddleocr,推荐使用阿里源:

pip install  paddleocr -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install paddlepaddle -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

下载项目和权重(版本号确定,但是链接不一定有效):

git clone https://github.com/PaddlePaddle/PaddleOCR.git
官网来源:https://www.paddlepaddle.org.cn/modelsDetail?modelId=17
​
检测权重
https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_PP-OCRv3_det_slim_infer.tar
​
方向分类权重
https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_slim_infer.tar
​
识别权重
https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_PP-OCRv3_rec_slim_infer.tar

识别图片结果如下,可以看到效果非常好

 图1 识别效果

conda paddle38虚拟环境的所有配置如下:

(paddle38) D:\OneDrive\桌面\python_Lab\E42014039_杨浩然_实验6\PaddleOCR>conda list
# packages in environment at D:\anaconda3\envs\paddle38:
#
# Name                    Version                   Build  Channel
astor                     0.8.1                    pypi_0    pypi
attrdict                  2.0.1                    pypi_0    pypi
babel                     2.11.0                   pypi_0    pypi
bce-python-sdk            0.8.74                   pypi_0    pypi
beautifulsoup4            4.11.1                   pypi_0    pypi
ca-certificates           2022.10.11           haa95532_0
cachetools                5.2.0                    pypi_0    pypi
certifi                   2022.9.24        py38haa95532_0
charset-normalizer        2.1.1                    pypi_0    pypi
click                     8.1.3                    pypi_0    pypi
colorama                  0.4.6                    pypi_0    pypi
contourpy                 1.0.6                    pypi_0    pypi
cssselect                 1.2.0                    pypi_0    pypi
cssutils                  2.6.0                    pypi_0    pypi
cycler                    0.11.0                   pypi_0    pypi
cython                    0.29.32                  pypi_0    pypi
decorator                 5.1.1                    pypi_0    pypi
dill                      0.3.6                    pypi_0    pypi
et-xmlfile                1.1.0                    pypi_0    pypi
fire                      0.4.0                    pypi_0    pypi
flask                     2.2.2                    pypi_0    pypi
flask-babel               2.0.0                    pypi_0    pypi
fonttools                 4.38.0                   pypi_0    pypi
future                    0.18.2                   pypi_0    pypi
idna                      3.4                      pypi_0    pypi
imageio                   2.22.4                   pypi_0    pypi
imgaug                    0.4.0                    pypi_0    pypi
importlib-metadata        5.1.0                    pypi_0    pypi
itsdangerous              2.1.2                    pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
kiwisolver                1.4.4                    pypi_0    pypi
lanms-neo                 1.0.2                    pypi_0    pypi
libffi                    3.4.2                hd77b12b_6
lmdb                      1.3.0                    pypi_0    pypi
lxml                      4.9.1                    pypi_0    pypi
markupsafe                2.1.1                    pypi_0    pypi
matplotlib                3.6.2                    pypi_0    pypi
multiprocess              0.70.14                  pypi_0    pypi
networkx                  2.8.8                    pypi_0    pypi
numpy                     1.23.5                   pypi_0    pypi
opencv-contrib-python     4.6.0.66                 pypi_0    pypi
opencv-python             4.6.0.66                 pypi_0    pypi
openpyxl                  3.0.10                   pypi_0    pypi
openssl                   1.1.1s               h2bbff1b_0
opt-einsum                3.3.0                    pypi_0    pypi
packaging                 21.3                     pypi_0    pypi
paddle-bfloat             0.1.7                    pypi_0    pypi
paddleocr                 2.6.1.1                  pypi_0    pypi
paddlepaddle              2.4.0                    pypi_0    pypi
pandas                    1.5.2                    pypi_0    pypi
pdf2docx                  0.5.6                    pypi_0    pypi
pillow                    9.3.0                    pypi_0    pypi
pip                       22.2.2           py38haa95532_0
polygon3                  3.0.9.1                  pypi_0    pypi
premailer                 3.10.0                   pypi_0    pypi
protobuf                  3.20.0                   pypi_0    pypi
pyclipper                 1.3.0.post4              pypi_0    pypi
pycryptodome              3.16.0                   pypi_0    pypi
pymupdf                   1.20.2                   pypi_0    pypi
pyparsing                 3.0.9                    pypi_0    pypi
pypiwin32                 223                      pypi_0    pypi
python                    3.8.15               h6244533_2
python-dateutil           2.8.2                    pypi_0    pypi
python-docx               0.8.11                   pypi_0    pypi
pytz                      2022.6                   pypi_0    pypi
pywavelets                1.4.1                    pypi_0    pypi
pywin32                   305                      pypi_0    pypi
rapidfuzz                 2.13.2                   pypi_0    pypi
requests                  2.28.1                   pypi_0    pypi
scikit-image              0.19.3                   pypi_0    pypi
scipy                     1.9.3                    pypi_0    pypi
setuptools                65.5.0           py38haa95532_0
shapely                   1.8.5.post1              pypi_0    pypi
six                       1.16.0                   pypi_0    pypi
soupsieve                 2.3.2.post1              pypi_0    pypi
sqlite                    3.40.0               h2bbff1b_0
termcolor                 2.1.1                    pypi_0    pypi
tifffile                  2022.10.10               pypi_0    pypi
tqdm                      4.64.1                   pypi_0    pypi
urllib3                   1.26.13                  pypi_0    pypi
vc                        14.2                 h21ff451_1
visualdl                  2.4.1                    pypi_0    pypi
vs2015_runtime            14.27.29016          h5e58377_2
werkzeug                  2.2.2                    pypi_0    pypi
wheel                     0.37.1             pyhd3eb1b0_0
wincertstore              0.2              py38haa95532_2
zipp                      3.11.0                   pypi_0    pypi

识别算法

识别部分的代码如下:

from paddleocr import PaddleOCR, draw_ocr
ocr = PaddleOCR(use_angle_cls=True, det_model_dir="./inference/ch_PP-OCRv3_det_slim_infer/",cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_slim_infer/",rec_model_dir="./inference/ch_PP-OCRv3_rec_slim_infer/",use_gpu=False)
img_path = r"D:\OneDrive\桌面\python_Lab\E42014039_杨浩然_实验6\PaddleOCR\images\test.jpg"
result = ocr.ocr(img_path, cls=True)
​
# 显示结果
# from PIL import Image
​
# image = Image.open(img_path).convert('RGB')
# boxes = [line[0] for line in result]
# txts = [line[1][0] for line in result]
# scores = [line[1][1] for line in result]
# im_show = draw_ocr(image, boxes, txts, scores)
# im_show = Image.fromarray(im_show)
# im_show.save('result.jpg') 

前半段代码需要文件目录,内容如下。其中的训练包经过很多次的迭代更换,最终成功。

inference:
│  ch_PP-OCRv3_det_slim_infer.tar
│  ch_PP-OCRv3_rec_slim_infer.tar
│  ch_ppocr_mobile_v2.0_cls_slim_infer.tar
│
├─ch_PP-OCRv3_det_slim_infer
│      inference.pdiparams
│      inference.pdiparams.info
│      inference.pdmodel
│
├─ch_PP-OCRv3_rec_slim_infer
│      inference.pdiparams
│      inference.pdiparams.info
│      inference.pdmodel
│
└─ch_ppocr_mobile_v2.0_cls_slim_infer._inference.pdiparams._inference.pdiparams.info._inference.pdmodel._paddle_infer.loginference.pdiparamsinference.pdiparams.infoinference.pdmodelpaddle_infer.log

后半部分即可做出图1的效果,但这显然不是我们需要的,其中boxes,txts,scores三个变量也没有提取出文字信息,所以我直接将result结果转换为str,再正则筛选出中文和标点,代码如下:

import re
​
​
def find_chinese(file):chinese = re.findall('[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\u4e00-\u9fa5]',file)return ''.join(chinese)# ...
result = str(result)
result = find_chinese(result)

下面我们需要把代码封装一下,之后将整个文件夹的图片送入识别并写入txt,看看结果如何。这里解释一下,我没有找到相关的测试集,所以可靠性有待验证(例如省市地区生僻字)。

2022-12-04 22:12:03:安徽省合肥市
2022-12-04 22:12:09:安徽省合肥市
2022-12-04 22:12:14:广东省深圳市,西藏自治区拉萨市,河北省石家庄市,湖北省十堰市

结果中有多点值得夸奖,也很让人惊喜,百度飞桨名不虚传!

  • 识别算法中,支持中文路径,而easyocr是不允许的!

  • 速度快的惊人,10张图片在一个正常笔记本算力的运行环境下,只需要61s!

  • 识别很精准,目前来看百度飞桨的性价比非常高!

正则匹配

下面,需要将每次的结果爬出来,存入一个“数据库”。可以观察到:

“到达或途经安徽省合肥市结果包含”

我们需要的结果被夹在几个非常确定的字段,这个正则可以作为期末考试的一个小题。

...
re1 = r'到达或途经(.*?)结果包含'
reResult = re.findall(re1, str1)
print(reResult)

匹配出中间的结果,理论上可以直接取word文档中查找,但是如果经过多个地区,行程显示为:xxx、xxx。

这样的字段在word文档中肯定是找不到的,所以我们必须将他当成列表处理。将读取的字符串按照中文逗号分割成列表,在word文档中逐个地区进行查找(实际上是将word整个文本拖到txt中再查找),如果找到则标为疑似途径风险地区,反之则视为安全。代码如下:

result_list = ocr.paddleocr(path)
for item in result_list:area_list = str(item).split(",")  # 中文逗号!index += 1for i in range(len(area_list)):flag = search.find_risk(area_list[i])if flag != 0:ocr.sheet.cell(index, 5, "有风险")breakocr.sheet.cell(index, 5, "无风险")ocr.bg.save(r"result.xlsx")
# 输出
检索内容: 广东省深圳市  无风险
检索内容: 西藏自治区拉萨市  无风险
检索内容: 河北省石家庄市  无风险
检索内容: 湖北省十堰市  无风险
检索内容: 安徽省合肥市  无风险
检索内容: 安徽省合肥市  无风险

结果写入

我们假设大家都能按照 学号_姓名 来进行文件命名(当然这是不可能的),将学号、姓名、检测时间、途径地区、检测结果写入excel,这里也考虑了基于一个.xlsx名单进行操作,但考虑到可能造成不方便,所以直接写入一张新的表格,再人工进行筛选(段老师:人工总要做点事情的)

 try:img_path = img_root_path + r"\\" + fileindex += 1filename = file.split("_")sheet.cell(index, 1, filename[0])sheet.cell(index, 2, filename[1].split(".")[0])result = ocr.ocr(img_path, cls=True)result = str(result)result = find_chinese(result)re1 = r'到达或途经(.*?)结果包含'except:sheet.cell(index, 1, "文件名异常")sheet.cell(index, 2, "文件名异常")try:result = str(re.findall(re1, result)[0]).replace(":", '')timenow = datetime.fromtimestamp(int(time.time()),pytz.timezone('Asia/Shanghai')).strftime('%Y-%m-%d %H:%M:%S')sheet.cell(index, 3, timenow)sheet.cell(index, 4, result)bg.save(r"result.xlsx")result_list.append(result)with open("result.txt", "a") as f:  # 打开文件f.write(timenow + result + "\n")except:sheet.cell(index, 3, "无法读取行程")sheet.cell(index, 4, "无法读取行程")result_list.append("无法读取行程")

总代码

代码封装成3个文件:

main.py:组织调配,负责整体逻辑

ocr.py:提取图片文字,并写入结果

search.py:搜索文档,判断是否经过危险地区

main.py

import ocr
import searchwith open("result.txt", 'r+') as file:  # 清空文件历史信息file.truncate(0)
path = r"D:\OneDrive\桌面\python_Lab\E42014039_杨浩然_实验6\PaddleOCR\images"  # 图片目录
filepath = r"D:\OneDrive\桌面\python_Lab\E42014039_杨浩然_实验6\疫情风险地区提示单.docx"  # 官方文件
flag = 0
index = 0
ocr.path = path
search.file_path = filepath
result_list = ocr.paddleocr(path)
for item in result_list:area_list = str(item).split(",")  # 中文逗号!index += 1for i in range(len(area_list)):flag = search.find_risk(area_list[i])if flag != 0:ocr.sheet.cell(index, 5, "有风险")breakocr.sheet.cell(index, 5, "无风险")ocr.bg.save(r"result.xlsx")

ocr.py

from paddleocr import PaddleOCR
import re
import os
import time
from datetime import datetime
import pytz
import openpyxl as oppath = r""
result_list = []
bg = op.load_workbook(r"result.xlsx")
bg.remove(bg["Sheet1"])
bg.create_sheet("Sheet1", index=0)
sheet = bg["Sheet1"]
sheet.cell(1, 1, "学号"), sheet.cell(1, 2, "姓名"), sheet.cell(1, 3, "检测时间"), sheet.cell(1, 4, "途径地区")
sheet.cell(1, 5, "检测结果")def find_chinese(file):chinese = re.findall('[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\u4e00-\u9fa5]',file)return ''.join(chinese)def paddleocr(img_root_path):# 模型路径下必须含有model和params文件global re1, resultocr = PaddleOCR(use_angle_cls=True, det_model_dir="./inference/ch_PP-OCRv3_det_slim_infer/",cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_slim_infer/",rec_model_dir="./inference/ch_PP-OCRv3_rec_slim_infer/",use_gpu=False)dirlist = os.listdir(img_root_path)index = 0for file in dirlist:try:img_path = img_root_path + r"\\" + fileindex += 1filename = file.split("_")sheet.cell(index, 1, filename[0])sheet.cell(index, 2, filename[1].split(".")[0])result = ocr.ocr(img_path, cls=True)result = str(result)result = find_chinese(result)re1 = r'到达或途经(.*?)结果包含'except:sheet.cell(index, 1, "文件名异常")sheet.cell(index, 2, "文件名异常")try:result = str(re.findall(re1, result)[0]).replace(":", '')timenow = datetime.fromtimestamp(int(time.time()),pytz.timezone('Asia/Shanghai')).strftime('%Y-%m-%d %H:%M:%S')sheet.cell(index, 3, timenow)sheet.cell(index, 4, result)bg.save(r"result.xlsx")result_list.append(result)with open("result.txt", "a") as f:  # 打开文件f.write(timenow + result + "\n")except:sheet.cell(index, 3, "无法读取行程")sheet.cell(index, 4, "无法读取行程")result_list.append("无法读取行程")return result_list

search.py

import docxfile_path = r"D:\OneDrive\桌面\python_Lab\E42014039_杨浩然_实验6\疫情风险地区提示单.docx"def getText(fileName):doc = docx.Document(fileName)TextList = []for paragraph in doc.paragraphs:TextList.append(paragraph.text)return '\n'.join(TextList)txt = getText(file_path)
with open("covid.txt", "w") as f:f.write(str(txt))def find_risk(text):# print("检索内容:", text)if str(text) in txt:return 1else:return 0

结果示意

现在从合肥到烟台,行程码也发生了变化,正好可以用来做测试。

真是万万没想到啊,中国的大数据行程码是用英文逗号进行分割,这样的话程序的正则匹配需要大改。由于防止再次发生变化,我准备了两套正则匹配表达式。

def find_chinese(file):chinese = file.translate(str.maketrans("", "", "[].1234567890''*%()")).replace(", , , , , , , , , ,", "").replace(" ", "").replace(",", ",")# chinese = re.findall('[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\u4e00-\u9fa5]',#                      file)# return ''.join(chinese)return chinese

没有被注释掉的是当下使用的(中间分割为英文逗号),注释掉的是中文逗号,可以随时切换。

测试如下,非常成功。

程序使用说明及风险

用户将main.pyword文档和images的路径更改结果会自动写入result.xlsx并且每次运行会更新。result.txt、covid.txt是中间文件,可以忽略和删除。

存在的风险:

  1. 官方文档发生变化,搜索省+市的名字不能达到预期目标

  2. 学生不按照正常的方式命名

  3. 行程码发生变化,导致正则表达式失效

打包虚拟环境

conda install -c conda-forge conda-pack
conda pack -n paddle38 -o env.zip// 生成相应依赖
pipreqs ./ --encoding=utf8
conda list -e > requirements.txt

 使用者只需要解压环境,即可使用。

全部依赖包

安装命令:

pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.comapted==1.0.3
beautifulsoup4==4.11.1
Cython==0.29.32
docx==0.2.4
editdistance==0.6.1
fasttext==0.9.2
fitz==0.0.1.dev2
imgaug==0.4.0
lanms==1.0.2
lanms_neo==1.0.2
lmdb==1.3.0
lxml==4.9.1
numpy==1.21.5
onnxruntime==1.13.1
opencv_python==4.6.0.66
openpyxl==3.0.10
paddle_serving_app==0.9.0
paddle_serving_client==0.9.0
paddle_serving_server==0.9.0
paddle_serving_server_gpu==0.9.0.post1028
paddleclas==2.5.1
paddlehub==2.3.1
paddlenlp==2.4.4
paddleslim==2.4.0
pandas==1.4.4
pdf2docx==0.5.6
Pillow==9.3.0
Polygon==1.1.0
premailer==3.10.0
pyclipper==1.3.0.post4
PyMuPDF==1.20.2
PyQt4==4.11.4
PyQt5==5.15.7
python_docx==0.8.11
pytz==2022.1
pywin32==302
PyYAML==6.0
QtPy==2.2.0
rapidfuzz==2.13.2
requests==2.28.1
scikit_image==0.19.2
scipy==1.9.1
seqeval==1.2.2
setuptools==63.4.1
Shapely==1.8.5.post1
sip==6.7.5
six==1.16.0
skimage==0.0
tqdm==4.64.1
visualdl==2.4.1
wandb==0.13.5
xlrd==2.0.1

这篇关于基于paddleocr的行程风险测评系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762223

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景