调用移动云OCR识别身份证

news2025/5/26 0:51:03

一.开通移动云OCR服务

在下面这个网址开通免费服务,,每个账号可免费使用500次,先要实名认证。 

通用文字识别 (10086.cn)icon-default.png?t=N3I4https://ecloud.10086.cn/home/product-introduction/Generalverify

有两种方式:

这里选择第二种 。

二.下载python_sdk测试代码

Python_SDK下载 (10086.cn)icon-default.png?t=N3I4https://ecloud.10086.cn/op-help-center/doc/article/40776然后在pycharm中打开上面下载好的文件。

三.测试OCR功能

1.打开文件

打开OCRTest.py文件: 

 里面的每个函数都是开通的OCR服务类型,你开通哪项服务,就配置哪个函数,对照表:

产品名称

服务名称

接口名称

请求路径

通用文字识别

通用类识别

网络图片文字识别

/api/ocr/v1/webimage

通用印刷体识别

/api/ocr/v1/general

通用手写体识别

/api/ocr/v1/handwriting

视频文字识别(视频上传)

/api/ocr/v1/videoupload

视频文字识别(视频文字识别结果查询)

/api/ocr/v1/videoresult

防疫核酸报告识别

/api/ocr/v1/nat

文档类识别

文档识别

/api/ocr/v1/generic

表格识别

/api/ocr/v1/form

卡证识别

卡证识别

身份证识别

/api/ocr/v1/idcard

营业执照识别(标准版)

/api/ocr/v1/businesslicense

营业执照识别(特殊版)

/api/ocr/v1/enterpriselicense

银行卡识别

/api/ocr/v1/bankcard

名片识别

/api/ocr/v1/businesscard

票据识别

票据识别

火车票识别

/api/ocr/v1/trainticket

增值税发票识别

/api/ocr/v1/invoice

出租车发票识别

/api/ocr/v1/taxiinvoice

定额发票识别

/api/ocr/v1/fixedinvoice

机票行程单识别

/api/ocr/v1/flights

过路费发票识别

/api/ocr/v1/toll

混贴票据识别

/api/ocr/v1/mixedbills

行业文字识别

资产类识别

印章检测

/api/ocr/v1/seal

印章识别

/api/ocr/v1/sealrecognition

汽车类识别

车牌识别

/api/ocr/v1/licenseplate

行驶证识别

/api/ocr/v1/driving

驾驶证识别

/api/ocr/v1/drive

VIN码识别

/api/ocr/v1/vincode

仪器仪表类识别

电表识别

/api/ocr/v1/ammeter

教育类识别

公式识别

/api/ocr/v1/formula

自定义模板识别

自定义模板识别

自定义模板识别

/api/ocr/v1/selfdefinition

智能结构化识别

智能结构化识别

/api/ocr/v1/smartstructure

 2.配置函数

 比如我开通的服务是网络图片文字识别,配置的函数是:

def request_webimage_file():
    print("请求File参数")
    requesturl = '/api/ocr/v1/webimage'    #填写对照表中的api地址
    #填写要识别图片的路径,代码包里提供了两张图片
    imagepath = 'C:\\Users\\zhuli\\Desktop\\smartlib_python_sdk\\test_code\\sfz.jpg'  
    try:
        ocr_client = CMSSEcloudOcrClient(accesskey, secretkey, url)
        response = ocr_client.request_ocr_service_file(requestpath=requesturl, imagepath= imagepath)
        print(response.text)
        
    except ValueError as e:
        print(e)
  • 第1行,引入我们的CMSSEcloudOcrClient类
  • 第3和第4行为用户的AK、SK信息
  • 第7行为requesturl参数为接口请求地址
  • 第8行为请求图片的路径
  • 第11行发起https请求,示例中request_ocr_service_file接收的图片的路径,同时还支持request_ocr_service_url(接收URL参数)和request_ocr_service_base64(接收图片base64编码)
  • 第12行打印响应内容

 3.配置移动云API调用所需的“AccessKey”、“SecretKey”

 进入该网址:https://ecloud.10086.cn/api/page/op-usercenter-static/#/aksk?productType=accesskeyhttps://ecloud.10086.cn/api/page/op-usercenter-static/#/aksk?productType=accesskey

 点击左上角的创建可创建密钥,会生成一个excel文件,里面有“AccessKey”、“SecretKey”。

找到OCRTest.py的这两行:

 将密钥填入对应的位置。

然后在终端输入:

python setup.py install

4.图片识别

 运行OCRTest.py文件,终端输出:

"C:\Users\ysy2001 0615\Desktop\PythonSDK\Python_SDK\venv\Scripts\python.exe" "C:\Users\ysy2001 0615\Desktop\PythonSDK\Python_SDK\test_code\OCRTest.py" 
请求File参数
{"requestId":"reqId-db2d0b5745d0a3dbf1689-9e8075e5-2","state":"OK","body":{"content":{"prism_wnum":11,"prism_wordsInfo":[{"prob":0.6822017431259155,"position":[{"x":64,"y":37},{"x":21,"y":39},{"x":21,"y":27},{"x":63,"y":25}],"word":"姓名","chars":[{"pos":[{"x":24,"y":25},{"x":36,"y":25},{"x":36,"y":39},{"x":24,"y":39}],"confidence":0.0956088437898568,"char":"姓"},{"pos":[{"x":39,"y":25},{"x":51,"y":25},{"x":51,"y":39},{"x":39,"y":39}],"confidence":0.08598547386547697,"char":"名"}]},{"prob":0.7948694229125977,"position":[{"x":99,"y":38},{"x":57,"y":38},{"x":57,"y":23},{"x":100,"y":23}],"word":"韦小宝","chars":[{"pos":[{"x":60,"y":23},{"x":72,"y":23},{"x":72,"y":38},{"x":60,"y":38}],"confidence":0.08316039122068702,"char":"韦"},{"pos":[{"x":70,"y":23},{"x":83,"y":23},{"x":83,"y":38},{"x":70,"y":38}],"confidence":0.09125237194941925,"char":"小"},{"pos":[{"x":81,"y":23},{"x":93,"y":23},{"x":93,"y":38},{"x":81,"y":38}],"confidence":0.09230028952018327,"char":"宝"}]},{"prob":0.6656411290168762,"position":[{"x":75,"y":65},{"x":20,"y":65},{"x":20,"y":47},{"x":75,"y":47}],"word":"性别男","chars":[{"pos":[{"x":21,"y":47},{"x":37,"y":47},{"x":37,"y":65},{"x":21,"y":65}],"confidence":0.0872939909963341,"char":"性"},{"pos":[{"x":31,"y":47},{"x":47,"y":47},{"x":47,"y":65},{"x":31,"y":65}],"confidence":0.07940399219819497,"char":"别"},{"pos":[{"x":49,"y":47},{"x":65,"y":47},{"x":65,"y":65},{"x":49,"y":65}],"confidence":0.08107724526057385,"char":"男"}]},{"prob":0.7900686860084534,"position":[{"x":131,"y":63},{"x":88,"y":61},{"x":89,"y":47},{"x":132,"y":49}],"word":"民族汉","chars":[{"pos":[{"x":89,"y":47},{"x":102,"y":47},{"x":102,"y":63},{"x":89,"y":63}],"confidence":0.09217217634938077,"char":"民"},{"pos":[{"x":102,"y":47},{"x":114,"y":47},{"x":114,"y":63},{"x":102,"y":63}],"confidence":0.09340092631165517,"char":"族"},{"pos":[{"x":114,"y":47},{"x":127,"y":47},{"x":127,"y":63},{"x":114,"y":63}],"confidence":0.09088020316953409,"char":"汉"}]},{"prob":0.8024003505706787,"position":[{"x":61,"y":84},{"x":22,"y":84},{"x":22,"y":71},{"x":61,"y":72}],"word":"出生","chars":[{"pos":[{"x":23,"y":71},{"x":34,"y":71},{"x":34,"y":84},{"x":23,"y":84}],"confidence":0.07454915327918127,"char":"出"},{"pos":[{"x":35,"y":71},{"x":47,"y":71},{"x":47,"y":84},{"x":35,"y":84}],"confidence":0.0838299437269847,"char":"生"}]},{"prob":0.8024003505706787,"position":[{"x":159,"y":85},{"x":56,"y":86},{"x":56,"y":72},{"x":159,"y":71}],"word":"1654年12月20日","chars":[{"pos":[{"x":57,"y":71},{"x":63,"y":71},{"x":63,"y":86},{"x":57,"y":86}],"confidence":0.08048306484940677,"char":"1"},{"pos":[{"x":60,"y":71},{"x":66,"y":71},{"x":66,"y":86},{"x":60,"y":86}],"confidence":0.07077925460296725,"char":"6"},{"pos":[{"x":62,"y":71},{"x":68,"y":71},{"x":68,"y":86},{"x":62,"y":86}],"confidence":0.07927936587835137,"char":"5"},{"pos":[{"x":65,"y":71},{"x":71,"y":71},{"x":71,"y":86},{"x":65,"y":86}],"confidence":0.08434467112840616,"char":"4"},{"pos":[{"x":70,"y":71},{"x":76,"y":71},{"x":76,"y":86},{"x":70,"y":86}],"confidence":0.08105277973402224,"char":"年"},{"pos":[{"x":75,"y":71},{"x":81,"y":71},{"x":81,"y":86},{"x":75,"y":86}],"confidence":0.08495977211713442,"char":"1"},{"pos":[{"x":78,"y":71},{"x":84,"y":71},{"x":84,"y":86},{"x":78,"y":86}],"confidence":0.09189763192040779,"char":"2"},{"pos":[{"x":82,"y":71},{"x":88,"y":71},{"x":88,"y":86},{"x":82,"y":86}],"confidence":0.07305568947744293,"char":"月"},{"pos":[{"x":87,"y":71},{"x":93,"y":71},{"x":93,"y":86},{"x":87,"y":86}],"confidence":0.07719586748106957,"char":"2"},{"pos":[{"x":89,"y":71},{"x":95,"y":71},{"x":95,"y":86},{"x":89,"y":86}],"confidence":0.08392865783456832,"char":"0"},{"pos":[{"x":94,"y":71},{"x":100,"y":71},{"x":100,"y":86},{"x":94,"y":86}],"confidence":0.08628613377026872,"char":"日"}]},{"prob":0.7320006489753723,"position":[{"x":58,"y":108},{"x":22,"y":108},{"x":22,"y":97},{"x":58,"y":97}],"word":"住址","chars":[{"pos":[{"x":24,"y":97},{"x":34,"y":97},{"x":34,"y":108},{"x":24,"y":108}],"confidence":0.09009406955958693,"char":"住"},{"pos":[{"x":37,"y":97},{"x":47,"y":97},{"x":47,"y":108},{"x":37,"y":108}],"confidence":0.08240888515657947,"char":"址"}]},{"prob":0.7900686860084534,"position":[{"x":190,"y":108},{"x":55,"y":107},{"x":55,"y":97},{"x":190,"y":97}],"word":"北京市东城区景山前街4号","chars":[{"pos":[{"x":58,"y":97},{"x":66,"y":97},{"x":66,"y":108},{"x":58,"y":108}],"confidence":0.08713626978853328,"char":"北"},{"pos":[{"x":66,"y":97},{"x":75,"y":97},{"x":75,"y":108},{"x":66,"y":108}],"confidence":0.09658446442664059,"char":"京"},{"pos":[{"x":75,"y":97},{"x":82,"y":97},{"x":82,"y":108},{"x":75,"y":108}],"confidence":0.09711321959702555,"char":"市"},{"pos":[{"x":82,"y":97},{"x":89,"y":97},{"x":89,"y":108},{"x":82,"y":108}],"confidence":0.09856503984905221,"char":"东"},{"pos":[{"x":89,"y":97},{"x":96,"y":97},{"x":96,"y":108},{"x":89,"y":108}],"confidence":0.08821399269578022,"char":"城"},{"pos":[{"x":98,"y":97},{"x":106,"y":97},{"x":106,"y":108},{"x":98,"y":108}],"confidence":0.08318493837647765,"char":"区"},{"pos":[{"x":104,"y":97},{"x":112,"y":97},{"x":112,"y":108},{"x":104,"y":108}],"confidence":0.08305766109568175,"char":"景"},{"pos":[{"x":112,"y":97},{"x":119,"y":97},{"x":119,"y":108},{"x":112,"y":108}],"confidence":0.07607177167586324,"char":"山"},{"pos":[{"x":118,"y":97},{"x":126,"y":97},{"x":126,"y":108},{"x":118,"y":108}],"confidence":0.08421159482850636,"char":"前"},{"pos":[{"x":126,"y":97},{"x":133,"y":97},{"x":133,"y":108},{"x":126,"y":108}],"confidence":0.09308668400515782,"char":"街"},{"pos":[{"x":133,"y":97},{"x":141,"y":97},{"x":141,"y":108},{"x":133,"y":108}],"confidence":0.0723923305743872,"char":"4"},{"pos":[{"x":141,"y":97},{"x":148,"y":97},{"x":148,"y":108},{"x":141,"y":108}],"confidence":0.07152081204563109,"char":"号"}]},{"prob":0.6656411290168762,"position":[{"x":123,"y":128},{"x":56,"y":128},{"x":56,"y":116},{"x":123,"y":116}],"word":"紫禁城敬事房","chars":[{"pos":[{"x":56,"y":116},{"x":60,"y":116},{"x":60,"y":128},{"x":56,"y":128}],"confidence":0.09226816954953951,"char":"紫"},{"pos":[{"x":59,"y":116},{"x":63,"y":116},{"x":63,"y":128},{"x":59,"y":128}],"confidence":0.07426896576246664,"char":"禁"},{"pos":[{"x":63,"y":116},{"x":67,"y":116},{"x":67,"y":128},{"x":63,"y":128}],"confidence":0.09067550017265255,"char":"城"},{"pos":[{"x":66,"y":116},{"x":70,"y":116},{"x":70,"y":128},{"x":66,"y":128}],"confidence":0.0765029225688767,"char":"敬"},{"pos":[{"x":70,"y":116},{"x":74,"y":116},{"x":74,"y":128},{"x":70,"y":128}],"confidence":0.09292123645870534,"char":"事"},{"pos":[{"x":73,"y":116},{"x":77,"y":116},{"x":77,"y":128},{"x":73,"y":128}],"confidence":0.08314556446170798,"char":"房"}]},{"prob":0.7948694229125977,"position":[{"x":94,"y":167},{"x":24,"y":167},{"x":24,"y":157},{"x":94,"y":157}],"word":"公民身份证号码","chars":[{"pos":[{"x":25,"y":157},{"x":29,"y":157},{"x":29,"y":167},{"x":25,"y":167}],"confidence":0.08861113638800246,"char":"公"},{"pos":[{"x":28,"y":157},{"x":32,"y":157},{"x":32,"y":167},{"x":28,"y":167}],"confidence":0.08254439412470047,"char":"民"},{"pos":[{"x":32,"y":157},{"x":36,"y":157},{"x":36,"y":167},{"x":32,"y":167}],"confidence":0.08884088398096258,"char":"身"},{"pos":[{"x":35,"y":157},{"x":40,"y":157},{"x":40,"y":167},{"x":35,"y":167}],"confidence":0.07859658124232792,"char":"份"},{"pos":[{"x":39,"y":157},{"x":43,"y":157},{"x":43,"y":167},{"x":39,"y":167}],"confidence":0.08619067298610167,"char":"证"},{"pos":[{"x":43,"y":157},{"x":47,"y":157},{"x":47,"y":167},{"x":43,"y":167}],"confidence":0.08511877072698217,"char":"号"},{"pos":[{"x":46,"y":157},{"x":50,"y":157},{"x":50,"y":167},{"x":46,"y":167}],"confidence":0.09074754695507889,"char":"码"}]},{"prob":0.7320006489753723,"position":[{"x":254,"y":166},{"x":106,"y":166},{"x":106,"y":158},{"x":254,"y":158}],"word":"11204416541220243X","chars":[{"pos":[{"x":108,"y":158},{"x":116,"y":158},{"x":116,"y":166},{"x":108,"y":166}],"confidence":0.0711357259043661,"char":"1"},{"pos":[{"x":115,"y":158},{"x":124,"y":158},{"x":124,"y":166},{"x":115,"y":166}],"confidence":0.09493274829684896,"char":"1"},{"pos":[{"x":124,"y":158},{"x":133,"y":158},{"x":133,"y":166},{"x":124,"y":166}],"confidence":0.0901567424680299,"char":"2"},{"pos":[{"x":133,"y":158},{"x":142,"y":158},{"x":142,"y":166},{"x":133,"y":166}],"confidence":0.07465050410196451,"char":"0"},{"pos":[{"x":141,"y":158},{"x":149,"y":158},{"x":149,"y":166},{"x":141,"y":166}],"confidence":0.08667510833307837,"char":"4"},{"pos":[{"x":148,"y":158},{"x":157,"y":158},{"x":157,"y":166},{"x":148,"y":166}],"confidence":0.0864850438550479,"char":"4"},{"pos":[{"x":156,"y":158},{"x":165,"y":158},{"x":165,"y":166},{"x":156,"y":166}],"confidence":0.07474846232751661,"char":"1"},{"pos":[{"x":165,"y":158},{"x":173,"y":158},{"x":173,"y":166},{"x":165,"y":166}],"confidence":0.0851283759530122,"char":"6"},{"pos":[{"x":172,"y":158},{"x":181,"y":158},{"x":181,"y":166},{"x":172,"y":166}],"confidence":0.07180779276748162,"char":"5"},{"pos":[{"x":181,"y":158},{"x":190,"y":158},{"x":190,"y":166},{"x":181,"y":166}],"confidence":0.08309512465379258,"char":"4"},{"pos":[{"x":189,"y":158},{"x":198,"y":158},{"x":198,"y":166},{"x":189,"y":166}],"confidence":0.08760201548613727,"char":"1"},{"pos":[{"x":196,"y":158},{"x":205,"y":158},{"x":205,"y":166},{"x":196,"y":166}],"confidence":0.08620213212777092,"char":"2"},{"pos":[{"x":205,"y":158},{"x":214,"y":158},{"x":214,"y":166},{"x":205,"y":166}],"confidence":0.07708197697260562,"char":"2"},{"pos":[{"x":213,"y":158},{"x":222,"y":158},{"x":222,"y":166},{"x":213,"y":166}],"confidence":0.09455778959674814,"char":"0"},{"pos":[{"x":221,"y":158},{"x":229,"y":158},{"x":229,"y":166},{"x":221,"y":166}],"confidence":0.07772310130275195,"char":"2"},{"pos":[{"x":229,"y":158},{"x":238,"y":158},{"x":238,"y":166},{"x":229,"y":166}],"confidence":0.0836733998033232,"char":"4"},{"pos":[{"x":237,"y":158},{"x":246,"y":158},{"x":246,"y":166},{"x":237,"y":166}],"confidence":0.0832613556488638,"char":"3"},{"pos":[{"x":245,"y":158},{"x":254,"y":158},{"x":254,"y":166},{"x":245,"y":166}],"confidence":0.08408428869218577,"char":"X"}]}]}}}

Process finished with exit code 0
 

 识别成功,但是数据是混乱的,要清洗数据。

参考文献:

[1]使用SDK调用OCR服务 (10086.cn)

[2]移动云官网_云主机_云空间_CDN_云硬盘_云数据库 (10086.cn) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/470574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

炸裂的 Auto-GPT,帮我自动生成小视频!

大家好,我是程序员贺同学。 继前段时间爆火的 ChatGPT 后,又一个炸裂的开源项目 Auto-GPT 出现了。 仿佛一夜之间,AI 圈又出现了一个新晋顶流。我们来看看它有多🔥。 在 GitHub 上,仅最近不到两个礼拜,这个…

TCP/IP基础知识

文章目录 互联网与TCP/IP的关系TCP/IP与OSI参考模型硬件(物理层)互联网层(网络层)IPICMPARP 传输层TCPUDP 应用层WWW电子邮件(E-Mail)文件传输(FTP)远程登录(TELNET与SSH&#xff09…

Redis Set 用了 2 种数据结构来存储,到现在才知道

Sets 无序集合,他的功能就好像你熟悉的 Java 中的 HashSet 一样。集合是通过散列表实现的,所以添加、删除、查找元素的时间复杂度是 O(1)。 1. 是什么 Sets 是 String 类型的无序集合,集合中的元素是唯一的,集合中不会出现重复的数…

【百问百答】可靠性基础知识第三期

1.电连接器的基本性能有哪些? 三个基本性能:机械性能、电气性能和耐环境性能。 电连接器机械性能测试包括:插拔力测试、端子保持力测试、端子正向力测试、耐久性测试。 电气特性测试包括:绝缘电阻测试、 耐电压测试、 低电平电阻测试(LLCR…

【YOLO v1】模型搭建 | model | 代码

YOLO V1 模型 import torch import torch.nn as nn from torchsummary import summarydef build_block(in_channel, out_channel, kernel_size, stride1, maxpoolFalse):padding kernel_size//2block nn.Sequential(nn.Conv2d(in_channel, out_channel, kernel_sizekernel_si…

数据包守恒 TCP 拥塞控制

数据包守恒是包括拥塞控制在内的合理利用带宽的方法之基石,它维持了有效网络传输的稳定,过去 40 年是,未来还是。数据包守恒可以描述为: 当带宽恰好满载时,receiver 收到 1 个数据包后 sender 才能发送 1 个数据包。当…

LeetCode链表OJ题目 代码+思路分享

目录 删除有序数组中的重复项合并两个有序数组移除链表元素 删除有序数组中的重复项 链接: link 题目描述: 题目思路: 本题使用两个指针dst和src一前一后 相同情况: 如果nums[dst]nums[src],那么src 不相同情况: 此…

基于B/S架构SpringBoot+Bootstrap框架的中小医院信息系统

一、开源项目简介 基于B/S架构,SpringBootBootstrap框架的中小医院信息系统。简单实现了挂号收费,门诊管理,划价收费,药房取药,体检管理,药房管理,系统维护等基础功能。 二、功能概述 本系统是…

计算机网络学习04(应用层常见协议总结)

1、HTTP:超文本传输协议 超文本传输协议(HTTP,HyperText Transfer Protocol) 是一种用于传输超文本和多媒体内容的协议,主要是为 Web 浏览器与 Web 服务器之间的通信而设计的。当我们使用浏览器浏览网页的时候,我们网页就是通过 …

电脑硬盘检测怎么操作?如何检查硬盘的健康情况?

案例:如何对电脑硬盘进行检测? 【我的电脑硬盘中有许多重要的数据,我想知道电脑硬盘的健康状况怎么样?有没有小伙伴知道电脑硬盘检测的方法?】 电脑硬盘是存储数据的关键组件,而随着时间的推移和使用频率…

JAVA IO 模型详解

什么是IO I/O(Input/Outpu) 即输入/输出 。 从计算机结构的视角来看的话, I/O 描述了计算机系统与外部设备之间通信的过程。 从应用程序的视角来看的话,我们的应用程序对操作系统的内核发起 IO 调用(系统调…

RocketMq windows 安装

RocketMq安装步骤: 1、直接在官网下载。也可以从这里自取 https://rocketmq.apache.org/download/ 2、修改bin目录下的文件 runserver.cmd 和 runbroker.cmd文件。主要修改所占用内存的大小。 runserver.cmd 修改如下: runbroker.cmd 修改如下&#xff…

数据结构与算法(三):树论(树形结构、二叉树、二叉搜索树、红黑树、BtreeB+Tree、赫夫曼树、堆树)

树论(树形结构、二叉树、二叉搜索树、红黑树、Btree、BTree、赫夫曼树、堆树) 树形结构概念 在树形结构里面重要的术语: 结点:树里面的元素。 父子关系:结点之间相连的边 子树:当结点大于1时&#xff0…

牛客网CM11 链表分割

CM11 链表分割 描述示例解题思路以及代码解法1解法2 描述 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 示例 解题…

JDBC详解(四):操作BLOB类型字段(超详解)

JDBC详解(四):操作BLOB类型字段 前言一、MySQL BLOB类型二、向数据表中插入大数据类型三、修改数据表中的Blob类型字段四、从数据表中读取大数据类型 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴…

倾斜摄影超大场景的三维模型轻量化与三维展示效果的关系浅析

倾斜摄影超大场景的三维模型轻量化与三维展示效果的关系浅析 倾斜摄影超大场景的三维模型由于数据量庞大,直接进行渲染可能会导致计算资源和时间的浪费。因此,针对倾斜摄影超大场景的三维模型区域进行轻量化处理是一种有效的优化手段。但是,轻…

macOS 13.4Beta 3(22F5049e)With OpenCore 0.9.2开发版 and winPE双引导分区原版镜像

镜像特点 完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clover引导分区(如有需要,可以自行直接替换opencore分区文件为clover引导文件)备注…

Python3语法笔记(后篇)

文章目录 前言函数输入参数返回值装饰器(decorator)Lambda表达式(匿名函数)文档和注解 类类和实例特殊方法继承枚举类 错误和异常后记 前言 这篇文章主要用于记录Python3相关语法,方便自己查阅使用。 Python3语法笔记…

rsync之include、exclude使用

rsync之include、exclude使用 注意:exclude可单独使用,include必须和exclude配合使用 环境: 服务端: 在做同步之前必须要知道的含义: --exclude* 排除所有文件,包括目录,因为在linux一切皆…

自动拣货仓库亮灯方案

方案目标概叙: 系统在美团平台下单后,骑手会收到取货码,凭借取货码到指定的智能仓库去取货,仓库标签系统调取相应订单信息,执行亮灯指令(屏幕显示订单信息及拣货数量,并亮灯)&#…