当前位置: 首页 > news >正文

数据增强的几大方式

1. 随机擦除(Random Erasing)

说明

随机在图像中选取一个矩形区域,将其像素值随机化或设为零,以增加模型对部分缺失信息的鲁棒性。

import numpy as np
import cv2def random_erasing(image, sl=0.02, sh=0.2, r1=0.3):h, w, _ = image.shapearea = h * wtarget_area = np.random.uniform(sl, sh) * areaaspect_ratio = np.random.uniform(r1, 1 / r1)h_erased = int(round(np.sqrt(target_area * aspect_ratio)))w_erased = int(round(np.sqrt(target_area / aspect_ratio)))if h_erased < h and w_erased < w:x1 = np.random.randint(0, h - h_erased)y1 = np.random.randint(0, w - w_erased)image[x1:x1 + h_erased, y1:y1 + w_erased, :] = np.random.randint(0, 255, (h_erased, w_erased, 3))return image
优缺点
  • 优点: 增强模型对遮挡和部分信息缺失的鲁棒性。
  • 缺点: 对图像语义信息敏感,可能擦除重要区域。

2. cutout

说明

类似随机擦除,但通常将被遮挡的区域设置为零而非随机值。

def cutout(image, mask_size=50):h, w, _ = image.shapex = np.random.randint(w)y = np.random.randint(h)x1 = max(0, x - mask_size // 2)y1 = max(0, y - mask_size // 2)x2 = min(w, x + mask_size // 2)y2 = min(h, y + mask_size // 2)image[y1:y2, x1:x2, :] = 0return image
优缺点
  • 优点: 简单易用,增强遮挡鲁棒性。
  • 缺点: 被遮挡区域始终为零,可能对模型学习不利。

3. Hide-and-Seek

说明

将图像分成多个网格,并随机遮挡部分网格。

def hide_and_seek(image, grid_size=4, hide_prob=0.5):h, w, _ = image.shapegh, gw = h // grid_size, w // grid_sizefor i in range(grid_size):for j in range(grid_size):if np.random.rand() < hide_prob:image[i * gh:(i + 1) * gh, j * gw:(j + 1) * gw, :] = 0return image

4. GridMask

说明

通过有规律地遮挡图像中的区域,形成网格状的遮挡图案。

def grid_mask(image, grid_size=4):h, w, _ = image.shapemask = np.ones((h, w, 3), dtype=np.uint8)for i in range(0, h, grid_size * 2):for j in range(0, w, grid_size * 2):mask[i:i + grid_size, j:j + grid_size, :] = 0return image * mask
优缺点
  • 优点: 系统性遮挡,提高模型对特定模式的鲁棒性。
  • 缺点: 固定遮挡模式可能使模型过拟合。

5. DropBlock

说明

类似于 Dropout,但随机“屏蔽”特定大小的连续区域。

def drop_block(image, block_size=5):h, w, _ = image.shapemask = np.ones((h, w), dtype=np.uint8)for _ in range(5):  # Number of blocks to dropx = np.random.randint(block_size, w - block_size)y = np.random.randint(block_size, h - block_size)mask[y - block_size:y + block_size, x - block_size:x + block_size] = 0return image * mask[..., None]
优缺点
  • 优点: 类似随机擦除,但对连续区域更敏感。
  • 缺点: 参数设计复杂。

6. Mixup

说明

将两张图像和对应标签线性混合。

def mixup(image1, image2, label1, label2, alpha=0.2):lam = np.random.beta(alpha, alpha)mixed_image = lam * image1 + (1 - lam) * image2mixed_label = lam * label1 + (1 - lam) * label2return mixed_image, mixed_label
优缺点
  • 优点: 提高模型对样本之间关系的学习能力。
  • 缺点: 标签混合可能降低语义明确性。

7. CutMix

说明

CutMix 是一种数据增强方法,它将两张图像随机剪裁并混合,同时混合它们的标签。这种方法既保留了遮挡信息,又引入了跨图像的信息互补。

import numpy as npdef cutmix(image1, image2, label1, label2, alpha=1.0):"""CutMix增强方法。:param image1: 第一张图像 (numpy array):param image2: 第二张图像 (numpy array):param label1: 第一张图像的标签 (numpy array or scalar):param label2: 第二张图像的标签 (numpy array or scalar):param alpha: Beta分布的参数:return: 混合后的图像和标签"""h, w, _ = image1.shapelam = np.random.beta(alpha, alpha)  # 生成混合比例 lambda# 随机裁剪区域cut_rat = np.sqrt(1 - lam)cut_h = int(h * cut_rat)cut_w = int(w * cut_rat)# 随机选择裁剪位置cx = np.random.randint(w)cy = np.random.randint(h)x1 = np.clip(cx - cut_w // 2, 0, w)y1 = np.clip(cy - cut_h // 2, 0, h)x2 = np.clip(cx + cut_w // 2, 0, w)y2 = np.clip(cy + cut_h // 2, 0, h)# 创建混合图像mixed_image = image1.copy()mixed_image[y1:y2, x1:x2, :] = image2[y1:y2, x1:x2, :]# 混合标签lam = 1 - ((x2 - x1) * (y2 - y1) / (h * w))mixed_label = lam * label1 + (1 - lam) * label2return mixed_image, mixed_label
优点
  1. 遮挡与信息互补

    • 同时增强了模型对遮挡和混合信息的鲁棒性。
    • 保留了图像的空间结构特性。
  2. 提高泛化能力

    • 引入了跨样本的信息,减少模型对单一模式的依赖,防止过拟合。
  3. 简单高效

    • 相较于 Mosaic 或 Style Transfer,CutMix 的实现更简单,适用范围更广。
缺点
  1. 标签模糊性

    • 对于单标签分类任务,混合后的标签可能引入不确定性。
    • 对于部分任务(如目标检测),需要额外处理目标框信息。
  2. 对语义敏感

    • 剪裁和混合的区域可能遮挡关键语义,影响模型学习。

8. Mosaic马赛克

说明

将 4 张图像拼接成一个新的图像,用于丰富样本上下文。

def mosaic(images):h, w, _ = images[0].shapecanvas = np.zeros((2 * h, 2 * w, 3), dtype=np.uint8)canvas[:h, :w] = images[0]canvas[:h, w:] = images[1]canvas[h:, :w] = images[2]canvas[h:, w:] = images[3]return canvas
优缺点
  • 优点: 增强上下文多样性。
  • 缺点: 较复杂,标签处理困难。

9. Style Transfer GAN

说明

通过生成对抗网络改变图像风格以增强数据。

# 伪代码:使用预训练的 GAN 模型
from some_gan_library import StyleGAN
gan = StyleGAN()
stylized_image = gan.transfer_style(image, target_style="van_gogh")
优缺点
  • 优点: 提高数据多样性,尤其适合小样本任务。
  • 缺点: 计算复杂,风格选择影响较大。

10. 对比与总结

每种方式适用于不同的场景,可以结合使用以提高模型的鲁棒性与泛化能力。

相关文章:

数据增强的几大方式

1. 随机擦除(Random Erasing) 说明 随机在图像中选取一个矩形区域&#xff0c;将其像素值随机化或设为零&#xff0c;以增加模型对部分缺失信息的鲁棒性。 import numpy as np import cv2def random_erasing(image, sl0.02, sh0.2, r10.3):h, w, _ image.shapearea h * wta…...

GraphReader: 将长文本结构化为图,并让 agent 自主探索,结合的大模型长文本处理增强方法

GraphReader: 将长文本结构化为图&#xff0c;并让 agent 自主探索&#xff0c;结合的大模型长文本处理增强方法 论文大纲理解为什么大模型和知识图谱不够&#xff1f;还要多智能体 设计思路数据分析解法拆解全流程核心模式提问为什么传统的长文本处理方法会随着文本长度增加而…...

VTK 模型封闭 closeSurface 补洞, 网格封闭性检测

网格封闭性检测 见&#xff1a; vtk Edges 特征边 提取 网格封闭性检测_vtkfeatureedges-CSDN博客 由于以前做过3D打印模型&#xff0c;要求模型必须是封闭的&#xff0c;原来对模型封闭有研究过&#xff0c;不过没有记录&#xff1b;现在又遇到&#xff0c;整理一下&#xff…...

【译】仅有 Text2SQL 是不够的: 用 TAG 统一人工智能和数据库

原文地址&#xff1a;Text2SQL is Not Enough: Unifying AI and Databases with TAG 摘要 通过数据库为自然语言问题提供服务的人工智能系统有望释放出巨大的价值。此类系统可让用户利用语言模型&#xff08;LM&#xff09;的强大推理和知识能力&#xff0c;以及数据管理系统…...

Java:链接redis报错:NoSuchElementException: Unable to validate object

目录 前言报错信息排查1、确认redis密码设置是否有效2、确认程序配置文件&#xff0c;是否配置了正确的redis登录密码3、检测是否是redis持久化的问题4、确认程序读取到的redis密码没有乱码 原因解决 前言 一个已经上线的项目&#xff0c;生产环境的redis居然没有设置密码&…...

每日一题 334. 递增的三元子序列

334. 递增的三元子序列 使用贪心来找到三个数字 class Solution { public:bool increasingTriplet(vector<int>& nums) {int first INT_MAX;int second INT_MAX;for(int num : nums){if(num < first){first num;}else if(num < second){second num;}els…...

金仓 Kingbase 日常运维 SQL 汇总

金仓 Kingbase 日常运维 SQL 汇总 1 单机启停 sys_ctl start|stop|restart 或指定data路径和端口等 sys_ctl start|stop|restart -D /data/kingbase/data -p 543222 集群启停 sys_monitor start|stop|restart3 修改配置后重新加载 sys_ctl reload4 初始化实例 initdb -E ut…...

JAVA开发ERP时在 PurchaseOrderServiceImpl.java 中添加日志记录进行调试

在 PurchaseOrderServiceImpl.java 中添加日志记录&#xff0c;以便在保存订单时输出参数进行调试。可以使用 Spring 的日志框架&#xff08;SLF4J 和 Logback&#xff09;来实现这一点。 添加日志记录 引入 SLF4J 依赖: 确保项目中已经包含了 SLF4J 和 Logback 的依赖。通常在…...

36.3 grafana-dashboard看图分析

kube-prometheus中的grafana总结 db使用 sqlit&#xff0c;volume类型为emptydir 无法持久化&#xff0c;pod扩缩就重新创建通过configMap设置的prometheus DataSource 通过 prometheus-k8s svc对应的 域名访问下面对应两个prometheus容器&#xff0c;有HA 各个dashboard通过 …...

面试题整理5----进程、线程、协程区别及僵尸进程处理

面试题整理5----进程、线程、协程区别及僵尸进程处理 1. 进程、线程与协程的区别1.1 进程&#xff08;Process&#xff09;1.2 线程&#xff08;Thread&#xff09;1.3 协程&#xff08;Coroutine&#xff09;2. 总结对比 3. 僵尸进程3.1 什么是僵尸进程&#xff1f;3.2 僵尸进…...

【C语言程序设计——基础】顺序结构程序设计(头歌实践教学平台习题)【合集】

目录&#x1f60b; <第1关&#xff1a;顺序结构的应用> 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果&#xff1a; <第2关&#xff1a;交换变量值> 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果&#xff1a; <第…...

LLM大语言模型私有化部署-OpenEuler22.03SP3上容器化部署Dify与Qwen2.5

背景 Dify 是一款开源的大语言模型(LLM) 应用开发平台。其直观的界面结合了 AI 工作流、 RAG 管道、 Agent 、模型管理、可观测性功能等&#xff0c;让您可以快速从原型到生产。相比 LangChain 这类有着锤子、钉子的工具箱开发库&#xff0c; Dify 提供了更接近生产需要的完整…...

C语言中的转义字符

C语言中的转义字符 常见字符ASCII码表...

ilqr算法原理推导及代码实践

目录 一. ilqr原理推导1.1 ilqr问题描述1.2 ilqr算法原理1.3 ilqr算法迭代过程 二. ilqr实践代码 一. ilqr原理推导 1.1 ilqr问题描述 本文参考知乎博主: LQR与iLQR&#xff1a;从理论到实践【详细】 基础LQR只能处理线性系统 (指可以使用 x ( k 1 ) A x ( k ) B u ( k )…...

系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)

每日禅语 “木末芙蓉花&#xff0c;山中发红萼&#xff0c;涧户寂无人&#xff0c;纷纷开自落。​”这是王维的一首诗&#xff0c;名叫《辛夷坞》​。这首诗写的是在辛夷坞这个幽深的山谷里&#xff0c;辛夷花自开自落&#xff0c;平淡得很&#xff0c;既没有生的喜悦&#xff…...

finereport新的数据工厂插件使用场景一 通过accessToken获取数据

1 有两个接口,一个接口获取一个accessToken,一个接口根据accessToken来获取数据。代码示例为: @RequestMapping(value = {"df_test/getAccessToken"},method = {RequestMethod.GET})@ResponseBodypublic String getAccessToken(HttpServletRequest req, HttpServ…...

matlab绘图时设置左、右坐标轴为不同颜色

目录 一、需求描述 二、实现方法 一、需求描述 当图中存在两条曲线&#xff0c;需要对两条曲线进行分别描述时&#xff0c;应设置左、右坐标轴为不同颜色&#xff0c;并设置刻度线&#xff0c;且坐标轴颜色需要和曲线颜色相同。 二、实现方法 1.1、可以实现&#xff1a; 1…...

魏裕雄的JAVA学习总结

JAVA学习总结 Java面向对象程序设计知识总结第1章 初识Java与面向对象程序设计JAVA概述面向对象程序设计思想JAVA开发环境搭建第一个JAVA程序JAVA常用开发工具 第2章 Java编程基础变量与常量运算符与表达式选择结构循环结构方法数组JVM中的堆内存与栈内存 第3章 面向对象程序设…...

深度学习从入门到精通——图像分割实战DeeplabV3

DeeplabV3算法 参数配置关于数据集的配置训练集参数 数据预处理模块DataSet构建模块测试一下数据集去正则化模型加载模块DeepLABV3 参数配置 关于数据集的配置 parser argparse.ArgumentParser()# Datset Optionsparser.add_argument("--data_root", typestr, defa…...

SAP抓取外部https报错SSL handshake处理方法

一、问题描述 SAP执行报表抓取https第三方数据,数据获取失败。 报错消息: SSL handshake with XXX.COM:449 failed: SSSLERR_SSL_READ (-58)#SAPCRYPTO:SSL_read() failed##SapSSLSessionStartNB()==SSSLERR_SSL_READ# SSL:SSL_read() failed (536875120/0x20001070)# …...

Electron-Vue 开发下 dev/prod/webpack server各种路径设置汇总

背景 在实际开发中&#xff0c;我发现团队对于这几个路径的设置上是纯靠猜的&#xff0c;通过一点点地尝试来找到可行的路径&#xff0c;这是不应该的&#xff0c;我们应该很清晰地了解这几个概念&#xff0c;以下通过截图和代码进行细节讲解。 npm run dev 下的路径如何处理&…...

穷举vs暴搜vs深搜vs回溯vs剪枝专题一>全排列II

题目&#xff1a; 解析&#xff1a; 这题设计递归函数&#xff0c;主要把看如何剪枝 代码&#xff1a; class Solution {private List<List<Integer>> ret;private List<Integer> path;private boolean[] check;public List<List<Integer>> p…...

Nginx中Server块配置的详细解析

Nginx中Server块配置的详细解析 一、Server块简介 在Nginx配置文件中&#xff0c;server块是非常关键的部分。它用于定义虚拟主机&#xff0c;一个server块就代表一个虚拟主机。这使得我们可以在一台Nginx服务器上通过不同的配置来处理多个域名或者基于不同端口的服务请求。 …...

【后端面试总结】Redis的三种模式原理介绍及优缺点

Redis作为一款高性能的键值对数据库&#xff0c;提供了多种模式以满足不同场景下的需求。本文将详细介绍Redis的三种主要模式&#xff1a;主从复制模式、哨兵模式&#xff08;Sentinel&#xff09;和集群模式&#xff08;Cluster&#xff09;&#xff0c;包括它们的原理、配置、…...

TCP协议详解

目录 一. TCP协议概述 1. 概念 2. 特点 (1) 面向连接 (2) 可靠传输 (3) 面向字节流 (4) 全双工通信 (5) 流量控制和拥塞控制 二. TCP协议报文格式 1. 源端口号 和 目的端口号 (16位) 2. 序号 和 确认序号 (32位) 3. 首部长度 (4位) 4. 保留位 (6位) 7. 控制位 8.…...

Webpack学习笔记(2)

1.什么是loader? 上图是Webpack打包简易流程&#xff0c;webpack本身只能理解js和json这样的文件&#xff0c;loader可以让webpack解析其他类型文件&#xff0c;并且将文件转换成模块供我们使用。 test识别出那些文件被转换&#xff0c;use定义转换时使用哪个loader转换 上图…...

【漏洞复现】Grafana 安全漏洞(CVE-2024-9264)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 一、漏洞概述 1.1漏洞简介 漏洞名称:Grafana 安全漏洞 (CVE-2024-9264)漏洞编号:CVE-2024-9264 | CNNVD-202410-1891漏洞类型:命令注入、本地文件包含漏洞威胁等级:…...

C++实现最大字段和

又是一道非常基础且经典的动态规划题目&#xff1a;假设有一个整数序列&#xff0c;我们将连续的几个元素组成的序列称为子段&#xff0c;要求我们得出所有子段和中最大的一个~ 例如&#xff1a;{-2,11&#xff0c;-4,13&#xff0c;-5&#xff0c;-2}&#xff0c;这一序列中&a…...

当我用影刀AI Power做了一个旅游攻略小助手

在线体验地址&#xff1a;旅游攻略小助手https://power.yingdao.com/assistant/ca1dfe1c-9451-450e-a5f1-d270e938a3ad/share 运行效果图展示&#xff1a; 话不多说一起看下效果图&#xff1a; 智能体的截图&#xff1a; 工作流截图&#xff1a; 搭建逻辑&#xff1a; 其实这…...

K8s HPA的常用功能介绍

Kubernetes 的 Horizontal Pod Autoscaler (HPA) 是一种自动扩展功能&#xff0c;用于根据资源使用情况&#xff08;如 CPU、内存等&#xff09;或自定义指标&#xff0c;动态调整 Pod 的副本数量&#xff0c;从而保证应用的性能和资源利用率。 以下是 HPA 的常用功能介绍&…...

web3跨链预言机协议-BandProtocol

项目简介 Band Protocol 项目最初于 2017年成立并建立在 ETH 之上。后于2020年转移到了 Cosmos 网络上&#xff0c;基于 Cosmos SDK 搭建了一条 Band Chain 。这是一条 oracle-specific chain&#xff0c;主要功能是提供跨链预言机服务。Cosmos生态上第一个&#xff0c;也是目…...

Python如何正确解决reCaptcha验证码(9)

前言 本文是该专栏的第73篇,后面会持续分享python爬虫干货知识,记得关注。 我们在处理某些国内外平台项目的时候,相信很多同学或多或少都见过,如下图所示的reCaptcha验证码。 而本文,笔者将重点来介绍在实战项目中,遇到上述中的“reCaptcha验证码”,如何正确去处理并解…...

电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据

电商数据采集可以通过多种方式完成&#xff0c;其中包括人工采集、使用电商平台提供的API接口、以及利用爬虫技术等自动化工具。以下是一些常用的电商数据采集方法&#xff1a; 人工采集&#xff1a;人工采集主要是通过基本的“复制粘贴”的方式在电商平台上进行数据的收集&am…...

【java】Executor框架的组成部分

目录 1. 任务&#xff08;Task&#xff09;2. 执行器&#xff08;Executor&#xff09;3. 任务结果&#xff08;Future&#xff09;4. 线程池&#xff08;ThreadPool&#xff09;5. 任务队列&#xff08;Work Queue&#xff09;6. 线程工厂&#xff08;Thread Factory&#xff…...

KMP算法基础

文章一览 前言一、核心思想二、实现步骤三、图解实现四、next数组的实现总结 前言 本栏目将讲解在学习过程中遇到的各种常用算法&#xff0c;深入浅出的讲解算法的用法与使用场景。 那么话不多说&#xff0c;让我们进入第一个算法KMP算法吧&#xff01; 一、核心思想 KMP&am…...

C语言——实现百分制换算为等级分

问题描述&#xff1a;百分制换算为等级分 //百分制换算为等级分#include<stdio.h>void my_function(int x) {if(x>95 && x<100){printf("A");}else if(x>81 && x<94){printf("B");}else if(x>70 && x<8…...

@pytest.fixture() 跟 @pytest.fixture有区别吗?

在iOS UI 自动化工程里面最早我用的是pytest.fixture()&#xff0c;因为在pycharm中联想出来的fixture是带&#xff08;&#xff09;的&#xff0c;后来偶然一次我没有带&#xff08;&#xff09;发现也没有问题&#xff0c;于是详细查了一下pytest.fixture() 和 pytest.fixtur…...

docker run命令大全

docker run命令大全 基本语法常用选项基础选项资源限制网络配置存储卷和挂载环境变量重启策略其他高级选项示例总结docker run 命令是 Docker 中最常用和强大的命令之一,用于创建并启动一个新的容器。该命令支持多种选项和参数,可以满足各种使用场景的需求。以下是 docker ru…...

BootAnimation源码流程分析

BootAnimation流程 bootanimation源码位于frameworks/base/cmds/bootanimation&#xff0c;正如其名&#xff0c;主要功能是加载播放开机动画&#xff0c;是一个C程序&#xff0c;编译生成的可执行文件位于/system/bin 主要逻辑&#xff1a;解析系统路径下的bootanimation.zi…...

Vue前端开发-数据缓存

完成全局性的axios实例对象配置后&#xff0c;则可以在任意一个组件中直接调用这个对象&#xff0c;发送异步请求&#xff0c;获取服务端返回的数据&#xff0c;同时&#xff0c;针对那些不经常变化的数据&#xff0c;可以在请求过程中&#xff0c;进行数据缓存&#xff0c;并根…...

唯品会Android面试题及参考答案

HTTP 和 HTTPS 的区别是什么&#xff1f;你的项目使用的是 HTTP 还是 HTTPS&#xff1f; HTTP 和 HTTPS 主要有以下区别。 首先是安全性。HTTP 是超文本传输协议&#xff0c;数据传输是明文的&#xff0c;这意味着在数据传输过程中&#xff0c;信息很容易被窃取或者篡改。比如&…...

ARM CCA机密计算安全模型之固件启动

安全之安全(security)博客目录导读 目录 1、安全启动(Verified boot) 2、镜像格式和签名方案 3、防回滚 4、离线启动(Off-line boot) 5、CCA HES固件启动流程 6、CCA系统安全域启动过程 7、应用程序PE启动过程 8、稳健性 本节定义了将CCA固件引导至可证明状态的要…...

LeetCode:3376. 破解锁的最少时间 I(DFS回溯 Java)

目录 3376. 破解锁的最少时间 I 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS 原理思路&#xff1a; 3376. 破解锁的最少时间 I 题目描述&#xff1a; Bob 被困在了一个地窖里&#xff0c;他需要破解 n 个锁才能逃出地窖&#xff0c;每一个锁都需要一定的 能量 …...

利用编程获得money?

在当今数字化时代&#xff0c;编程技能为人们开辟了众多赚钱途径。无论你是编程新手还是经验丰富的开发者&#xff0c;都能在广阔的市场中找到适合自己的盈利方式。以下是一份详细的用编程赚钱指南。 一、自由职业平台 像 Upwork、Freelancer 和 Fiverr 等知名自由职业平台&am…...

51c视觉~合集36

我自己的原文哦~ https://blog.51cto.com/whaosoft/12275223 #无监督盲超分算法MLMC 即插即用的解决方案 本文介绍了一种新的无监督盲超分辨率算法MLMC&#xff0c;该算法结合了元学习和马尔可夫链蒙特卡罗核估计&#xff0c;无需监督预训练或参数先验&#xff0c;即可实现…...

域名系统_域名展示出售系统 PC+H5 双端自适应页面

域名系统_域名展示出售系统 PCH5 双端自适应页面 PCH5 双端自适应页面 " 是一套专门用于域名展示和出售的系统源代码 它包含 PC 端和 H5 移动端两个版本&#xff0c;确保在不同设备上都能提供良好的用户体验 这套系统不仅具备基本的域名展示功能&#xff0c;还注重设计…...

Linux C/C++编程的线程结束

【图书推荐】《Linux C与C一线开发实践&#xff08;第2版&#xff09;》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践&#xff08;第2版&#xff09;&#xff08;Linux技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com…...

户口本识别、接口识别、python户口本文字识别集成

文字识别技术是数字化转型中一项重要的信息处理手段&#xff0c;正在改变政府机构、企业及个人用户之间的交互方式。通过先进的OCR&#xff08;光学字符识别&#xff09;技术和AI算法的支持&#xff0c;户口本识别不仅简化了信息采集流程&#xff0c;还提高了数据的准确性。 随…...

王佩丰24节Excel学习笔记——第十一讲:Vlookup函数

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 掌握vlookup使用方法&#xff0c;选区的第一列一定是查询参数条件一。使用通配符查询。vlookup 限 255 位长度。掌握日常使用场景。使用vlookup模糊匹配查询个税 一、使用Vlookup函…...

java全栈day16--Web后端实战(数据库)

一、数据库介绍 二、Mysql安装&#xff08;自行在网上找&#xff0c;教程简单&#xff09; 安装好了进行Mysql连接 连接语法&#xff1a;winr输入cmd&#xff0c;在命令行中再输入mysql -uroot -p密码 方法二&#xff1a;winr输入cmd&#xff0c;在命令行中再输入mysql -uroo…...