【目标检测】图像处理基础:像素、分辨率与图像格式解析
🧑 博主简介:曾任某智慧城市类企业
算法总监
,目前在美国市场的物流公司从事高级算法工程师
一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【目标检测】图像处理基础:像素、分辨率与图像格式解析
- 一、引言
- 二、为什么图像处理如此重要?
- 三、像素:图像的基本单位
- 3.1 什么是像素?
- 3.2 像素的数学表示
- 3.3 可视化像素结构
- 四、分辨率:图像的清晰度密码
- 4.1 分辨率定义
- 4.2 分辨率对目标检测的影响
- 4.3 分辨率转换实验
- 五、图像格式:存储与传输的艺术
- 5.1 常见图像格式对比
- 5.2 格式转换与质量实验
- 六、图像处理实战:目标检测预处理
- 6.1 完整预处理流程
- 6.2 预处理步骤详解
- 6.3 预处理结果展示
- 七、专业图像处理技巧
- 7.1 颜色空间转换
- 7.2 图像增强技术
- 7.3 高级图像分析
- 八、目标检测中的图像处理最佳实践
- 九、总结与进阶学习
一、引言
目标检测的成败往往在图像处理阶段就已决定!本文将深入解析图像处理三大核心概念:像素、分辨率和图像格式,通过直观的可视化和可运行的Python代码,带你彻底掌握这些基础知识!
二、为什么图像处理如此重要?
在目标检测中,模型看到的不是"图像",而是数字矩阵。理解像素、分辨率和图像格式的关系,就像画家了解颜料特性一样关键。良好的图像处理能:
- 提升检测精度:减少噪声干扰
- 加速推理过程:优化输入数据
- 降低资源消耗:合理选择图像格式
- 增强模型鲁棒性:适应不同环境
三、像素:图像的基本单位
3.1 什么是像素?
像素(Pixel) 是图像的最小单元,每个像素包含颜色信息。在数字图像中,像素就像马赛克瓷砖,共同组成完整画面。
3.2 像素的数学表示
在计算机中,像素通常用RGB值表示:
- R:红色通道 (0-255)
- G:绿色通道 (0-255)
- B:蓝色通道 (0-255)
例如,纯红色的像素表示为:(255, 0, 0)
3.3 可视化像素结构
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap# 创建3x3像素网格
pixel_grid = np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]], # 红、绿、蓝[[255, 255, 0], [255, 0, 255], [0, 255, 255]], # 黄、紫、青[[255, 255, 255], [128, 128, 128], [0, 0, 0]] # 白、灰、黑
], dtype=np.uint8)# 可视化
plt.figure(figsize=(6, 6))
plt.imshow(pixel_grid)
plt.title("3x3像素网格")
plt.axis('off')# 添加像素坐标标签
for i in range(3):for j in range(3):plt.text(j, i, f'({i},{j})', ha='center', va='center', color='white' if sum(pixel_grid[i, j]) < 384 else 'black')plt.show()
运行这段代码,你将看到一个3x3的像素网格,每个像素标注了坐标位置:
四、分辨率:图像的清晰度密码
4.1 分辨率定义
分辨率(Resolution) 指图像的像素总量,通常表示为:宽度像素数 × 高度像素数
4.2 分辨率对目标检测的影响
分辨率 | 优势 | 劣势 | 适用场景 |
---|---|---|---|
高分辨率 | 细节丰富 | 计算量大 | 小目标检测 |
低分辨率 | 处理快速 | 细节丢失 | 实时检测 |
4.3 分辨率转换实验
from PIL import Image
import cv2
import numpy as np
import matplotlib.pyplot as plt# 创建高分辨率图像
high_res = np.zeros((400, 600, 3), dtype=np.uint8)
cv2.putText(high_res, 'High Resolution', (150, 200), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 255, 0), 3)# 转换为低分辨率
low_res = cv2.resize(high_res, (150, 100), interpolation=cv2.INTER_LINEAR)# 可视化对比
plt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)
plt.imshow(high_res)
plt.title(f"高分辨率: 600x400")
plt.axis('off')plt.subplot(1, 2, 2)
plt.imshow(low_res)
plt.title(f"低分辨率: 150x100")
plt.axis('off')plt.tight_layout()
plt.show()
运行结果展示了同一图像在不同分辨率下的表现:
五、图像格式:存储与传输的艺术
5.1 常见图像格式对比
格式 | 类型 | 特点 | 适用场景 |
---|---|---|---|
JPEG | 有损压缩 | 文件小,有损 | 网络传输 |
PNG | 无损压缩 | 支持透明通道 | 需要保留细节 |
BMP | 未压缩 | 文件大,无损失 | 图像处理中间步骤 |
WebP | 现代格式 | 高质量压缩 | Web应用 |
5.2 格式转换与质量实验
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import os# 创建测试图像
image = np.zeros((300, 400, 3), dtype=np.uint8)
cv2.putText(image, 'Format Test', (80, 150), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (255, 255, 0), 3)
cv2.putText(image, 'PNG vs JPEG vs WebP', (40, 200), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 255), 2)# 保存不同格式
Image.fromarray(image).save('original.bmp')
Image.fromarray(image).save('quality_100.jpg', quality=100)
Image.fromarray(image).save('quality_30.jpg', quality=30)
Image.fromarray(image).save('lossless.png')
Image.fromarray(image).save('compressed.webp', quality=90)# 读取并显示
formats = ['bmp', 'jpg (100%)', 'jpg (30%)', 'png', 'webp']
files = ['original.bmp', 'quality_100.jpg', 'quality_30.jpg', 'lossless.png', 'compressed.webp']
images = []plt.figure(figsize=(15, 8))
for i, (fmt, file) in enumerate(zip(formats, files)):img = Image.open(file)images.append(img)# 获取文件大小size_kb = os.path.getsize(file) / 1024plt.subplot(2, 3, i+1)plt.imshow(img)plt.title(f"{fmt}\n{size_kb:.1f} KB")plt.axis('off')plt.tight_layout()
plt.show()
运行结果展示了不同格式的图像质量和文件大小:
六、图像处理实战:目标检测预处理
6.1 完整预处理流程
import cv2
import numpy as np
import matplotlib.pyplot as pltdef preprocess_image(image_path, target_size=(416, 416)):"""图像预处理流程:1. 读取图像2. 转换颜色空间3. 调整大小4. 归一化5. 维度转换"""# 1. 读取原始图像orig_img = cv2.imread(image_path)orig_img = cv2.cvtColor(orig_img, cv2.COLOR_BGR2RGB)# 2. 转换颜色空间 (BGR -> RGB)rgb_img = cv2.cvtColor(orig_img, cv2.COLOR_BGR2RGB)# 3. 调整大小resized_img = cv2.resize(rgb_img, target_size)# 4. 归一化 (0-255 -> 0-1)normalized_img = resized_img / 255.0# 5. 维度转换 (HWC -> CHW)chw_img = np.transpose(normalized_img, (2, 0, 1))return orig_img, rgb_img, resized_img, normalized_img, chw_img# 执行预处理
image_path = "test_image.jpg" # 替换为你的图像路径
orig, rgb, resized, normalized, chw = preprocess_image(image_path)# 可视化预处理流程
plt.figure(figsize=(15, 10))plt.subplot(231)
plt.imshow(orig)
plt.title("原始图像\n尺寸: {}x{}".format(orig.shape[1], orig.shape[0]))
plt.axis('off')plt.subplot(232)
plt.imshow(rgb)
plt.title("RGB转换")
plt.axis('off')plt.subplot(233)
plt.imshow(resized)
plt.title("调整大小\n{}x{}".format(resized.shape[1], resized.shape[0]))
plt.axis('off')plt.subplot(234)
plt.imshow(normalized)
plt.title("归一化 (0-1)")
plt.axis('off')plt.subplot(235)
# 显示CHW格式的第一个通道
plt.imshow(chw[0], cmap='gray')
plt.title("CHW格式 - 通道0")
plt.axis('off')plt.subplot(236)
# 显示CHW格式的第二个通道
plt.imshow(chw[1], cmap='gray')
plt.title("CHW格式 - 通道1")
plt.axis('off')plt.tight_layout()
plt.show()# 打印张量形状
print(f"原始图像形状: {orig.shape} (H, W, C)")
print(f"CHW格式形状: {chw.shape} (C, H, W)")
6.2 预处理步骤详解
- 原始图像:从文件系统读取
- RGB转换:OpenCV默认BGR,转换为RGB
- 调整大小:统一输入尺寸,便于批量处理
- 归一化:将像素值从0-255缩放到0-1
- 维度转换:从(height, width, channel)转换为(channel, height, width)
6.3 预处理结果展示
七、专业图像处理技巧
7.1 颜色空间转换
# 转换到HSV颜色空间
hsv_img = cv2.cvtColor(orig_img, cv2.COLOR_BGR2HSV)# 转换到Lab颜色空间
lab_img = cv2.cvtColor(orig_img, cv2.COLOR_BGR2Lab)# 分离通道
h, s, v = cv2.split(hsv_img)
l, a, b = cv2.split(lab_img)
7.2 图像增强技术
# 对比度调整
def adjust_contrast(img, factor):mean = np.mean(img, axis=(0, 1))return np.clip((img - mean) * factor + mean, 0, 255).astype(np.uint8)# 亮度调整
def adjust_brightness(img, value):return np.clip(img + value, 0, 255).astype(np.uint8)# 锐化
def sharpen(img, kernel_size=5, sigma=1.0, amount=1.0, threshold=0):blurred = cv2.GaussianBlur(img, (kernel_size, kernel_size), sigma)sharpened = float(amount + 1) * img - float(amount) * blurredsharpened = np.maximum(sharpened, np.zeros(sharpened.shape))sharpened = np.minimum(sharpened, 255 * np.ones(sharpened.shape))sharpened = sharpened.round().astype(np.uint8)if threshold > 0:low_contrast_mask = np.absolute(img - blurred) < thresholdnp.copyto(sharpened, img, where=low_contrast_mask)return sharpened
7.3 高级图像分析
# 直方图分析
def plot_histogram(img):plt.figure(figsize=(10, 4))colors = ('r', 'g', 'b')for i, color in enumerate(colors):hist = cv2.calcHist([img], [i], None, [256], [0, 256])plt.plot(hist, color=color)plt.xlim([0, 256])plt.title('RGB直方图')plt.show()# 边缘检测
edges = cv2.Canny(img, 100, 200)# 特征点检测
sift = cv2.SIFT_create()
keypoints, descriptors = sift.detectAndCompute(img, None)
八、目标检测中的图像处理最佳实践
-
分辨率选择:
- 小目标检测:≥1024×1024
- 通用目标检测:512×512
- 实时检测:320×320
-
格式选择:
- 训练数据:PNG(保留细节)
- 在线推理:JPEG(快速传输)
- Web应用:WebP(高效压缩)
-
预处理流程:
-
数据增强技巧:
- 随机裁剪
- 色彩抖动
- 旋转翻转
- 混合增强(Mixup)
九、总结与进阶学习
本文深入解析了图像处理的三大基础:
- 像素:图像的基本单位
- 分辨率:决定图像细节
- 图像格式:影响存储和处理效率
掌握这些基础知识,能够帮助你在目标检测中:
- 合理选择输入参数
- 优化预处理流程
- 提高模型性能
- 降低资源消耗
进阶思考:为什么YOLO等模型要求输入尺寸为32的倍数?
答案:这与卷积神经网络的结构有关。多次下采样后,32倍数的尺寸能确保特征图尺寸为整数,避免信息损失。
觉得本文有帮助?点击👍支持!如果有任何问题或建议,欢迎在评论区留言讨论~
相关文章:
【目标检测】图像处理基础:像素、分辨率与图像格式解析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
国产免费的k8s管理平台
xkube是一款永久免费且无任何功能限制的k8s集群管理平台,提供PC端和移动端全平台支持,具备完善的集群管理、运维监控和CI/CD发布功能,让企业轻松实现跨集群的统一管理和自动化运维。 技术特点: 1、xkube是一款国产永久免费的k8s…...
火山引擎大模型未来发展趋势
用户可能正在做技术选型或者行业研究,需要预测火山引擎在激烈竞争中的突围方向。从问题简洁性看,ta可能已经有一定基础认知,不需要我从零科普大模型概念。 火山引擎作为字节跳动的技术输出平台,优势在于背靠抖音、今日头条等超级应…...
Java基础(三):逻辑运算符详解
Java基础系列文章 Java基础(一):发展史、技术体系与JDK环境配置详解 Java基础(二):八种基本数据类型详解 Java基础(三):逻辑运算符详解 目录 一、什么是逻辑运算符?二、基础逻辑运算符(3种)1、&&…...
设计模式 | 单例模式
单例模式(Singleton Pattern) 是设计模式中最简单却最常用的模式之一,它确保一个类只有一个实例,并提供全局访问点。本文将深入探讨单例模式的核心思想、实现技巧以及在C中的多种实现方式。 为什么需要单例模式? 在软…...
SQL_Server 基本语法
1.创建数据库 use master go if exists(select * from sysdatabases where nameCourseManageDB) drop database CourseManageDB go --创建数据库 create database CourseManageDB on primary (--数据库的逻辑文件名(就是系统用的,必须唯一)…...
剑指offer39_连续子数组的最大和
连续子数组的最大和 输入一个 非空 整型数组,数组里的数可能为正,也可能为负。 数组中一个或连续的多个整数组成一个子数组。 求所有子数组的和的最大值。 要求时间复杂度为 O ( n ) O(n) O(n)。 数据范围 数组长度 [ 1 , 1000 ] [1,1000] [1,100…...
SPL 实践系列:跨库移植 SQL
背景 应用程序可能要基于不同数据库工作,各种数据库的 SQL 语法大体一致,但仍有些差别,结果就要改造这些 SQL,而这事通常只能手工调整,工作量大还容易出错。 完全自动改造 SQL 几乎是无法做到的,毕竟各种…...
docker启动的rabbitmq搭建并集群和高可用
Docker 搭建 RabbitMQ 集群步骤 以下是使用 Docker 快速搭建 RabbitMQ 集群的详细步骤,包含配置文件、网络设置和集群组建过程。 1. 创建自定义网络 首先创建一个 Docker 网络,使容器间可以通过名称互相访问: docker network create rabb…...
ISCSI存储
ISCSI存储 一、iscsi简介 1. 基本概念 iSCSI(Internet Small Computer System Interface)即互联网小型计算机系统接口,它是一种基于 TCP/IP 协议的存储网络协议,将传统的 SCSI(Small Computer System Interface&…...
算法与数据结构:动态规划DP
文章目录 动态规划算法全面解析一、核心思想与基本概念二、动态规划与其他算法的区别三、动态规划的解题步骤四、经典案例解析1. **斐波那契数列(Fibonacci)**2. **0-1背包问题(0-1 Knapsack)**3. **最长公共子序列(LC…...
核心概念解析:AI、数据挖掘、机器学习与深度学习的关系
核心概念解析:AI、数据挖掘、机器学习与深度学习的关系 本节旨在厘清人工智能(AI)、机器学习(ML)、深度学习(DL)、数据挖掘等常被混淆的概念及其相互关系。 1. 从应用目标看:人工智…...
跨域视角下强化学习重塑大模型推理:GURU框架与多领域推理新突破
跨域视角下强化学习重塑大模型推理:GURU框架与多领域推理新突破 大语言模型(LLM)推理能力的提升是AI领域的重要方向,强化学习(RL)为此提供了新思路。本文提出的GURU框架,通过构建跨领域RL推理语…...
黑马python(十三)
目录: 1.文件编码概念 2.文件的读取操作 3.文件的写入操作 4.文件的追加写操作 5.文件操作的综合案例 1.文件编码概念 2.文件的读取操作 多次调用read或相关读取方法会接着上一次读取的记录读 如果文件没有关闭,只要程序还在运行,文件…...
Redis-CPP 5大类型操作
这篇文章不会讲解所有关于5大基础类型的所有命令,只讲解几个常用的命令操作。如果想看全部的命令操作,可以看其它的文章。 string set 先来看一看set操作在服务器端的函数原型: SET key value [expiration EX seconds|PX milliseconds] [N…...
Linux 下的 socket
1、简介 Socket,中文常称为“套接字”,是 UNIX 操作系统中引入的一种通信抽象接口,用于支持不同进程之间,特别是不同主机之间的通信。在 UNIX 哲学中,“一切皆文件”,包括网络通信也不例外。Socket 就是这种…...
链接脚本基础语法
目录 前言 ELF文件布局 链接脚本语法 段定义标准格式 地址计数器 . 地址计数器的动态特性 赋值 vs 引用 符号定义 通配符规则 COMMON块 COMMON 块的产生与处理 示例脚本 前言 由于嵌入式系统内存资源珍贵,链接脚本可指定代码段(.text &#…...
Python期末速成
一.基础内容 赋值语句: a 1 b "mayday" 标识符规则: 1.字母,数字,下划线,汉字组成。但数字不能开头 2.不能是保留字 3.特殊符号不行,*¥^等 注释是在语句前面加# …...
Python打卡训练营Day56
DAY 56 时序数据的检验 知识点回顾: 假设检验基础知识 原假设与备择假设P值、统计量、显著水平、置信区间 白噪声 白噪声的定义自相关性检验:ACF检验和Ljung-Box 检验偏自相关性检验:PACF检验 平稳性 平稳性的定义单位根检验 季节性检验 ACF检…...
没掌握的知识点记录
1、微内核的主要优点在于结构清晰、内核代码量少,安全性和可靠性高、可移植性强、可伸缩性、可扩展性高;其缺点是难以进行良好的整体优化、进程间互相通信的开销大、内核功能代码不能被直接调用而带来服务的效率低。 2、题目: 分页内存管理…...
Python商务数据分析——Python 入门基础知识学习笔记
一、简介 1.1 Python 特性 解释型语言:代码无需编译可直接运行,适合快速开发。 动态类型:变量类型在运行时确定(如x1后x"str"仍合法)。 面向对象:支持类、对象、继承等特性,代码可…...
企业级安全实践:SSL 加密与权限管理(二)
权限管理:企业数据的守护者 权限管理的基本概念与重要性 权限管理,是指根据系统设置的安全规则或策略,用户可以访问且仅能访问自己被授权的资源,不多不少 。它是企业信息安全体系的重要组成部分,旨在确保只有授权的人…...
JavaScript 的 “==” 存在的坑
(双等) 指的是宽松相等 — 会做隐式类型转换 举例:0 // true 5 5 // true (三等) 指的是严格相等 — 类型和值都相等才 true 举例:0 // false 5 5 // false 在业务逻辑里经常因为隐式转换导致条件误判,业界普遍推荐 一律用 / !。 举…...
深度解析云计算网络架构:VLAN+OVS+Bonding构建高可靠虚拟化平台
——从物理设备到虚拟机流量的全链路剖析 核心技术组合:VLAN逻辑隔离 OVS虚拟交换 Bonding链路聚合 超融合网络管理 一、架构全景:物理与虚拟网络的协同(附架构图) 核心设计哲学 #mermaid-svg-VbGP3fCgNnoLVMgH {font-family:&…...
Git使用总结
1.基本概念: Git中的区域: git中有几个区域;本地工作区;本地提交区;origin远端。 一般来说的工作上传顺序是: 将修改文件添加到工作区域----提交到本地提交区域----push到远端分支 Git中的分支 远端和…...
爬虫入门练习(文字数据的爬取)
爬取csdn用户的用户简介 学习一下 BeautifulSoup方法 from bs4 import BeautifulSoup html_content """ <html> <head><title>示例网页</title> </head> <body><h1 class"main-title">欢迎学习Beauti…...
MySQL学习(1)——基础库操作
欢迎来到博主的专栏:MySQL学习 博主ID:代码小豪 文章目录 数据库原理基础库操作增删数据库数据库编码与校验规则验证不同的校验规则对于库中数据的影响 备份与恢复数据库 数据库原理 mysql版本:mysql8.0 操作系统:ubuntu22.4 为了减少由于环境配置以及权限限制带来的使用问题&…...
P99延迟:系统性能优化的关键指标
理解P99延迟 当谈论系统性能时,延迟指标扮演着至关重要的角色。其中,P99延迟作为最重要的性能指标之一,能够帮助我们识别系统的性能瓶颈,优化用户体验。 构建一个功能完善的后端系统,通过了所有功能测试,准…...
人工智能、机器人最容易取哪些体力劳动和脑力劳动
人工智能、机器人最容易取哪些体力劳动和脑力劳动 人工智能和机器人的发展可以替代人类简单的体力劳动和脑力劳动,但很难替代复杂的体力劳动和脑力劳动。 肌肉收缩的原理和运动特点 人类的体力劳动是靠肌肉的收缩完成的,其工作原理是肌肉内的肌球蛋白…...
【代码解析】opencv 安卓 SDK sample - 1 - HDR image
很久没有写安卓了,复习复习。用的是官方案例,详见opencv-Android-sdk 包 // 定义包名,表示该类的组织路径 package org.opencv.samples.tutorial1;// 导入所需的OpenCV和Android类库 import org.opencv.android.CameraActivity; // OpenCV…...
管理综合知识点
比与比例涉及的问题 比与比例基础知识比例的转换正反比例浓度问题利润问题增长率问题比例与面积行程问题 一、比例转换与性质 核心公式: 若 a : b c : d a:b c:d a:bc:d或 a b c d \frac{a}{b} \frac{c}{d} badc → a d b c ad bc adbc(交…...
机器学习:特征向量与数据维数概念
特征向量与数据维数概念 一、特征向量与维数的定义 特征向量与特征类别 在机器学习和数据处理中,每个样本通常由多个特征(Feature) 描述。例如,一张图片的特征可能包括颜色、形状、纹理等;一个客户的特征可能包括年龄…...
《情感反诈模拟器》2025学习版
1.2 专业内容支持 67篇情感诈骗案例研究14万字心理学分析资料783条专业配音对白 二、安装与运行 2.1 系统要求 最低配置: 显卡:GTX 1060CPU:i5-8400存储:25GB空间 2.2 运行步骤 解压游戏文件(21.7GB)…...
C++ - 标准库之 <string> npos(npos 概述、npos 的作用)
一、std::string::npos 概述 std::string::npos 是一个静态常量,表示 size_t 类型的最大值 std::string::npos 用于表示字符串操作中的未找到的位置或无效位置 std::string::npos 属于 C 标准库中的 <string> 头文件 二、std::string::npos 的作用 std::s…...
策略设计模式
1. 什么是策略模式 策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户端,客户端中的具体实现只需要了解上下文类。 2. 由什么组成 策略接口&…...
C++结构体初始化与成员函数实现语法详解
C结构体初始化与成员函数实现语法详解 一、结构体静态成员初始化语法 在C中,静态成员变量需要在类外部进行定义和初始化。提供的代码展示了如何为MAIN_PROPULSION_CAN类的静态成员变量进行初始化: MAIN_PROPULSION_CAN::VoltageThresholds MAIN_PROPU…...
第八章 网络安全
1 什么是网络安全 安全通信具有的性质: 机密性:只有发送方和希望的接收方能否理解传输的报文内容(发送方加密报文,接收方解密报文)认证(端点鉴别):发送方和接收方需要确认对方的身…...
开源 python 应用 开发(一)python、pip、pyAutogui、python opencv安装
最近有个项目需要做视觉自动化处理的工具,最后选用的软件为python,刚好这个机会进行系统学习。短时间学习,需要快速开发,所以记录要点步骤,防止忘记。 链接: 开源 python 应用 开发(一&#x…...
CMCC RAX3000M nand版 OpenWrt 可用空间变小的恢复方法
文章目录 问题背景尝试一、通过 Tftpd64 重新刷写 initramfs-recovery 镜像 (不成功)尝试二、重新分配 ubi 卷(此操作存在一定的危险,请查阅相关资料,避免影响到核心分区) 问题背景 CMCC RAX3000M Nand 版…...
云函数调测、部署及日志查看
1、调试云函数 业务函数开发完成后,需要验证函数代码的正确性,DevEco Studio工具支持本地调用和远程调用两种形式的调试函数方法,首先来看看通过本地调用方式调试函数。 1)通过本地调用方式调试云函数 为了验证函数的正确性以及…...
逆向某物 App 登录接口:还原 newSign 算法全流程
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ newSign 参数分析 通过 Hook Java 层加密算法得到 newSign 参数相关信息如下: 具体参考:逆向某物 App 登录接口:抓包分析…...
2140、解决智力问题
题目 解答 正向不好做,反向遍历。 定义:dp[i] [i,n)的分数 初始化:dp[n]0 递推:dp[i]max(dp[i1],questions[i][0]dp[iquestions[i][1]1]) 如果越界了,就截断到dp[n] 最后return dp[0]即可 class Solution { publ…...
肖臻《区块链技术与应用》第六讲:比特币网络
一、分层架构:应用层之下的P2P网络 比特币并非凭空运作,它的协议运行在互联网的应用层之上。而在其底层,支撑整个系统的是一个对等网络(Peer-to-Peer, P2P)。可以这样理解: 应用层 (Application Layer): …...
(C++)素数的判断(C++教学)(C语言)
源代码: #include <iostream> using namespace std;int fun(int num){if(num<1){return 1;}if(num%20){return 0;}else{return 2;} }int main(){while (1){int y0;int num0;cout<<"请输入一个整数:\n";cin>>num;yfun(nu…...
openai-agents实现input_guardrails
目录 版本模块引入自定义LLM模型input_guardrail设置main函数 代码: input_guardrails.ipynb 版本 import agents print(agents.__version__)0.0.19模块引入 from __future__ import annotationsfrom pydantic import BaseModelfrom agents import (Agent,Guardr…...
在高数中 导数 微分 不定积分 定积分 的意义以及联系
在高等数学中,导数、微分、不定积分、定积分是微积分的核心概念,它们既有明确的定义和几何/物理意义,又相互关联。下面分别说明它们的意义,并总结它们之间的联系。 导数的意义 定义: 函数 y f(x) 在点 x 处的导数定义…...
Linux系统基本操作指令
Linux系统基本操作指令 文章目录 Linux系统基本操作指令一、介绍二、基础设置2.1 设置ubuntu与window的共享目录2.2 ubuntu系统简单介绍 三、Linux命令及工具介绍3.1 目录管理命令(功能,格式,参数,系统参数)3.2 文件操作命令 四、网络命令4.1…...
「Linux文件及目录管理」vi、vim编辑器
知识点解析 vi/vim编辑器简介 vi:Linux默认的文本编辑器,基于命令行操作,功能强大。vim:vi的增强版,支持语法高亮、多窗口编辑、插件扩展等功能。vi/vim基本模式 命令模式:默认模式,用于移动光标、复制、粘贴、删除等操作。插入模式:按i进入,用于输入文本。末行模式:…...
等等等等等等
欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。 …...
JAVA集合篇--深入理解ConcurrentHashMap图解版
一、前言 在Java并发编程中,线程安全的Map实现一直是一个重要话题。虽然我们可以使用Collections.synchronizedMap()或者HashTable来获得线程安全的Map,但它们的性能在高并发场景下往往不尽人意。ConcurrentHashMap作为Java并发包中的重要组件࿰…...