- 博客(282)
- 收藏
- 关注
原创 计算机网络---IPv6
IPv6通过128位地址空间解决了根本性的地址短缺问题,其技术设计围绕"高效、灵活、安全"三大目标:简化的基本头部提升路由效率,扩展头部实现功能按需扩展,NDP协议替代ARP实现更安全的地址解析,SLAAC与DHCPv6满足不同场景的自动配置需求,原生IPsec保障通信安全。:由IANA(互联网编号分配机构)分配给区域互联网注册机构(如APNIC、ARIN),再逐级分配给ISP和大型企业,长度通常为48位(部分场景为32位或64位),用于全球范围的路由聚合。例如,某ISP获得的前缀为。
2025-08-14 00:00:00
601
原创 计算机网络---用户数据报协议User Datagram Protocol(UDP)
UDP协议核心解析与应用 作为TCP/IP协议族中的轻量级传输层协议,UDP以无连接、低延迟和低开销为设计核心。其8字节精简首部包含源/目的端口、长度和校验和字段,支持最大65507字节数据负载。UDP通过端口号实现多路复用,但缺乏TCP的可靠性机制,不保证数据有序或完整交付。典型应用场景包括实时音视频传输(如VoIP)、DNS查询、DHCP配置和在线游戏等实时性要求高的领域。为弥补可靠性缺陷,衍生出UDP-Lite、NAT穿透等技术,QUIC协议更在UDP基础上实现了类TCP的可靠性。相较TCP,UDP以
2025-08-14 00:00:00
393
原创 计算机网络---默认网关(Default Gateway)
默认网关是连接本地网络与其他网络的枢纽设备(如路由器),负责转发跨网段通信数据。其核心作用包括:1)作为跨网段通信的中转站,2)配合子网掩码划分网络边界,3)提供防火墙、NAT等安全功能。工作流程涉及本地判断、网关转发和路由表查询。配置方式分为DHCP自动获取和手动静态设置,多网关场景可通过metric值设置优先级。常见问题如网关不可用或外网访问失败,通常需检查物理连接、IP冲突或防火墙设置。默认网关是保障网络互联的基础设施,对家庭、企业及物联网通信至关重要。
2025-08-13 00:00:00
643
原创 计算机网络---防火墙(Firewall)
防火墙(Firewall)是一种位于两个或多个网络边界的安全设备或软件,通过预先定义的规则对进出网络的数据包进行检测、允许或拒绝,从而实现对网络访问的控制。其核心目标是隔离风险区域与可信区域,阻止未授权的访问和恶意攻击,同时允许合法的网络通信。
2025-08-13 00:00:00
722
原创 计算机网络---DNS(域名系统)
DNS是一个分布式的域名解析系统,通过层级化的服务器集群和协议,实现域名与IP地址的映射(包括正向解析:域名→IP,反向解析:IP→域名)。
2025-08-12 00:00:00
475
原创 计算机网络---交换机
交换机是计算机网络中用于高效转发数据的核心设备,通过识别MAC地址实现局域网内的定向通信。它工作在数据链路层,能学习设备地址、精准转发数据包,并支持VLAN、链路聚合等高级功能。与集线器相比,交换机提供独立带宽和冲突域隔离;与路由器相比,它专注于局域网内通信。现代交换机已发展出千兆/万兆速率、三层路由等类型,满足从家庭到数据中心的不同需求,成为构建可靠网络的基础设施。
2025-08-12 00:00:00
633
原创 计算机网络---IP(互联网协议)
IP协议是TCP/IP协议族的核心,位于网络层,负责数据包的寻址和路由选择。IPv4采用32位地址,分为A、B、C、D、E五类,通过CIDR实现灵活分配;IPv6使用128位地址解决地址耗尽问题。IP协议具有无连接、不可靠的特性,依赖上层协议保证可靠性。关键机制包括子网划分、NAT地址转换、分片重组等,支持动态分配(DHCP)和静态配置。IPv6简化首部并增强安全性,取消广播地址,采用组播和任播。IP协议通过分层管理和路由算法实现异构网络互联,是互联网通信的基础。
2025-08-11 00:00:00
1450
原创 深度相机---双目深度相机
双目深度相机通过双摄像头模拟人眼立体视觉,利用三角测量原理计算场景深度。其核心技术在于视差计算,通过基线长度、焦距和像素偏移量建立深度映射关系。硬件需保证双摄像头参数一致性、同步曝光和精确标定,工作流程包括图像采集、畸变校正、极线对齐、立体匹配和深度计算。相比其他深度感知技术,双目方案在成本、环境适应性方面具有优势,但依赖场景纹理且计算复杂,广泛应用于机器人、AR/VR和自动驾驶等领域。
2025-08-11 00:00:00
1373
原创 计算机视觉---Halcon概览
Halcon是德国MVTec开发的工业级机器视觉算法库,以高精度、鲁棒性和工程化工具链著称。其模块化架构包含2000+算子,支持图像处理(滤波、分割)、高级视觉(模板匹配、OCR)、3D视觉(点云处理)及深度学习(目标检测、语义分割)。通过HDevelop IDE实现图形化开发,支持多语言调用和硬件加速(GPU/CUDA)。典型应用包括电子制造(PCB检测)、汽车工业(零部件测量)等领域,结合传统算法与AI技术,提供端到端解决方案。Halcon凭借工业级稳定性和算法深度,成为机器视觉领域的标杆工具。
2025-07-29 00:00:00
1294
1
原创 C++---初始化列表(initializer_list)
C++11引入的std::initializer_list是实现列表初始化的核心机制,它作为轻量级只读视图封装同类型元素序列,支持容器初始化、函数参数传递和自定义类型构造。该特性通过为容器和类设计专门的initializer_list构造函数,使得{}语法能自动转换为临时initializer_list对象,优先匹配对应构造函数而非传统重载,从而提供简洁直观的初始化方式。其底层通过指针和长度实现高效访问,但需注意元素临时性和只读限制。
2025-07-29 00:00:00
1783
原创 Windows---动态链接库Dynamic Link Library(.dll)
DLL通过动态链接机制为应用程序提供共享功能支持。本文从DLL的定义、发展历史和文件结构三方面展开分析: 本质与价值:DLL是包含可执行代码和数据的二进制文件,通过运行时加载实现代码复用、资源节省和模块化开发,与EXE文件在功能定位和执行方式上有本质区别。 演进历程:从DOS时代的静态链接困境,到Windows 95引入成熟的DLL机制,再到.NET框架下的托管DLL,DLL技术不断演进,已成为Windows生态的核心支柱。
2025-07-28 00:00:00
1535
原创 QT---概览
Qt是跨平台C++应用程序开发框架,由The Qt Company开发维护,支持Windows、Linux、macOS等主流平台。其核心特性包括:元对象系统实现动态特性,信号与槽机制实现对象间通信,丰富的GUI组件库以及配套工具链。经过Qt4、Qt5到Qt6的演进,逐步优化模块结构,引入QML/Qt Quick等现代UI开发技术。Qt采用模块化设计,包含基础模块(如Qt Core、Qt Gui)和扩展模块(如Qt Network、Qt SQL)。开发模型基于元对象系统和信号与槽机制,支持属性系统实现动态访问
2025-07-28 00:00:00
951
原创 C/C++---I/O性能优化
C++ I/O性能优化技巧总结:通过禁用标准流同步(sync_with_stdio(false))和解除绑定(cin.tie(nullptr))可显著提升cin/cout速度,使其接近scanf/printf。输出优化建议使用'\n'替代endl,采用stringstream缓存或直接使用printf;输入推荐scanf或fread批量读取,并设置大缓冲区。文件I/O应优先选择二进制模式,增大缓冲区并整块读写数据。核心思路是减少I/O次数、避免频繁刷新和格式转换。
2025-07-26 00:00:00
949
1
原创 Orbbec开发---数据流与数据流操作
本文深入探讨了Orbbec深度相机开发中数据流的本质、操作意义与实现方法。数据流作为连接硬件与软件的核心纽带,具有三层核心属性:传感器数字信号传输的物理本质、包含元数据的标准化帧序列结构特征,以及多源异构的时空特性。数据流操作通过SDK封装显著降低了开发门槛,解决了多流同步、数据一致性及处理效率等关键问题。文章详细阐述了数据流操作的六个步骤:设备枚举、流配置选择、管道配置与启动、帧数据获取与解析等,并提供了代码示例与优化技巧。
2025-07-26 00:00:00
704
原创 Linux---systemd自启动
本文详细介绍了在Linux系统中使用systemd配置和管理自启动服务的方法。主要内容包括:服务单元文件的基本结构(Unit、Service、Install三个核心部分),各配置段的详细参数说明(如依赖关系、执行命令、资源限制等);服务类型的区别与应用场景;环境变量、资源限制和日志监控的配置技巧;以及服务安装、管理的完整操作流程。文章还提供了Node.js应用自启动的示例配置,并总结了关键注意事项,如文件权限管理和避免服务无限重启等问题。通过systemd的精细化控制,可以实现可靠的服务自启动管理。
2025-07-25 00:00:00
500
原创 C++开发---奥比中光(Orbbec)的ob库
Orbbec SDK是奥比中光开发的深度视觉工具包,支持Astra、Gemini等系列深度相机。其核心架构包括ob::Context全局上下文类(负责设备枚举、日志管理)、ob::Device设备控制类(提供传感器管理、硬件参数配置)以及流配置类(定义分辨率、帧率等参数)。该SDK采用分层设计,包含设备抽象、流管理和数据处理模块,支持从基础设备操作到高级三维重建的全流程开发。开发者需通过ob命名空间访问API,主要功能涵盖多设备管理、深度/RGB/红外传感器控制、帧同步及数据流配置等深度视觉应用关键环节。
2025-07-25 00:00:00
1919
原创 深度图像滤波
本文系统介绍了深度图像滤波的六大核心方法:1)去噪滤波消除随机噪声;2)边缘滤波保留几何边界;3)空域滤波融合邻域信息;4)时域滤波实现序列平滑;5)填洞修复缺失数据;6)各向异性滤波保持方向特征。针对深度图像特有的传感器噪声、环境干扰和几何噪声等问题,各类滤波方法在噪声抑制、边缘保持、数据完整性和时空一致性等核心目标上展现出不同优势。特别探讨了统计滤波器、双边滤波、引导滤波、超像素分割、卡尔曼滤波等具体技术的原理与应用,为深度图像质量优化提供了系统解决方案。
2025-07-24 00:00:00
1245
原创 深度相机---像素转物理尺寸
深度相机将像素尺寸转换为物理尺寸的关键在于坐标系转换与深度信息的结合。核心过程涉及四个坐标系(像素、图像、相机、世界)的映射关系,通过相机内参矩阵和深度值实现像素到三维坐标的转换。计算方法基于相似三角形原理,利用像素差与焦距、深度值推导物理距离。视场角(FOV)可作为无内参时的替代方案,通过角度分辨率与目标距离估算物理尺寸。实际应用中需考虑镜头畸变校正等影响因素以提高精度。该技术广泛应用于工业测量、机器人导航等领域,其准确性依赖于相机校准和几何关系的正确建模。
2025-07-24 00:00:00
1488
原创 数据交换---JSON格式
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,已成为互联网数据交换的事实标准。本文系统介绍了JSON的核心知识:1)基础概念与历史背景,对比XML等传统格式;2)严格的语法规则与6种数据类型(字符串、数字、布尔值、null、对象、数组);3)与XML、YAML、CSV的优劣势对比;4)跨语言实现方法,重点解析JavaScript中的序列化(JSON.stringify)与反序列化(JSON.parse)操作。JSON因其简洁性、高效性和跨平台支持,在API交互、配
2025-07-23 00:00:00
1211
原创 标记语言---XML
XML(可扩展标记语言)是一种用于数据存储与传输的标记语言,其核心特点是可自定义标签和数据结构化。XML文档采用树状结构,必须严格遵循闭合标签、正确嵌套、属性值引号等语法规则,与HTML相比更加严谨。XML支持命名空间解决命名冲突,并通过DTD或XML Schema定义文档约束规则。DTD语法简单但功能有限,而XML Schema支持更复杂的数据类型和验证。XML广泛应用于跨平台数据交换,其灵活性和扩展性使其成为早期互联网数据标准的重要选择。
2025-07-23 00:00:00
726
原创 奥比中光深度相机开发
本文介绍了奥比中光深度相机的开发流程,包括环境配置、SDK架构和核心组件说明。主要内容有:1)硬件需奥比中光深度相机(如Astra Pro)和USB 3.0接口;2)软件需安装OrbbecSDK并配置开发环境;3)详细代码示例展示设备初始化、深度数据流配置、帧数据处理和点云生成;4)说明了相机参数获取和模式切换方法。文章提供了完整的C++开发示例,涵盖从设备连接、深度数据采集到三维点云转换的全流程实现。
2025-07-22 00:00:00
612
3
原创 C/C++---emplace和emplace_back
摘要:C++中emplace和emplace_back是高效插入元素的容器方法。emplace_back适用于序列容器(如vector),直接在尾部构造对象;emplace适用于关联容器(如map),在合适位置构造元素。两者均避免创建临时对象,提升性能。emplace_back返回void,emplace返回插入结果。优先使用emplace系列方法,但需注意参数匹配和异常安全。传统方法(push_back/insert)在特定场景下仍有用。
2025-07-22 00:00:00
499
原创 机器视觉---深度图像存储格式
本文系统介绍了深度图像存储格式与处理技术。主流深度相机(奥比中光、Intel RealSense、Kinect等)普遍采用16位无符号整数(uint16)作为默认格式,以毫米为单位表示距离,无效值通常标记为0。OpenCV提供完善的深度图像处理功能,支持16位无符号整数(CV_16U)和32位浮点数(CV_32F)两种存储格式,包含数据转换、可视化等基本处理方法。深度图像处理需注意归一化显示、无效值处理等关键环节,以满足不同应用场景的需求。
2025-07-21 00:00:00
1171
原创 深度相机的工作模式(以奥比中光深度相机为例)
深度相机工作模式是设备根据不同应用需求,在精度、帧率、功耗等指标间进行平衡的运行状态。奥比中光等厂商提供的典型模式包括:高精度测量模式(适用于工业检测)、标准模式(通用场景)、快速模式(高帧率)、低功耗模式(延长续航)等。这些模式通过调整硬件参数(如曝光时间)和软件算法(如降噪策略)来实现,用户可根据具体场景需求(如精度要求、环境光照条件)灵活切换。模式切换通常通过API实现,封装了复杂的参数调优过程,降低了使用门槛,使深度相机能广泛应用于消费电子、工业检测等领域。
2025-07-21 00:00:00
1591
原创 相机参数的格式与作用
本文系统介绍了计算机视觉中相机标定的关键参数及其作用。相机内参矩阵(3x3)包含焦距、主点坐标和切向畸变系数,用于三维到二维坐标转换;畸变系数(1x5)描述径向和切向畸变,用于图像校正;外参矩阵(3x4)包含旋转和平移参数,实现世界坐标系到相机坐标系的转换;投影矩阵结合内外参完成三维点投影;矫正矩阵则用于立体视觉中的图像对齐。这些参数共同构成了相机标定的数学基础,为三维信息恢复提供支持。
2025-07-20 00:00:00
880
原创 C/C++---文件读取
本文介绍了C++中使用fstream类进行文件读取的方法,包括文本和二进制文件读取。重点讲解ifstream的基本操作:通过构造函数或open()打开文件,采用is_open()检查状态,使用get()、getline()或>>操作符进行字符、行或格式化读取,最后用close()关闭文件。同时涵盖错误处理、文件模式设置及二进制文件读取的特殊处理,并提供了完整的文件读取示例代码,强调文件读取在系统调试中的重要作用。
2025-07-20 00:00:00
765
原创 C++---cout、cerr、clog
C++标准输出流对象对比摘要: cout、cerr和clog是C++标准库中的三个关键输出流对象,分别用于不同场景。cout用于标准输出,支持格式化显示和重定向;cerr专用于错误输出,无缓冲特性确保即时显示;clog则适合日志记录,具有缓冲机制。三者均可重定向,主要区别在于缓冲特性和使用场景:正常程序输出用cout,紧急错误用cerr,日志记录用clog。高级应用包括自定义缓冲区、多线程同步输出和RAII流管理技术。
2025-07-19 00:00:00
1080
原创 计算机视觉与机器视觉
机器视觉与计算机视觉的本质差异 机器视觉(MV)与计算机视觉(CV)虽均涉及图像处理,但核心目标与技术路径截然不同: 定义:CV是让计算机“看懂”世界(如识别物体、场景理解),MV是用视觉技术解决工业问题(如缺陷检测、尺寸测量)。 技术栈:CV以算法为核心(如深度学习模型),MV是软硬件协同系统(工业相机+光源+控制协议)。 应用场景:CV覆盖安防、医疗等泛化领域,MV聚焦工业自动化(电子制造、汽车质检等)。 性能要求:CV追求高精度与泛化能力,MV强调实时性(毫秒级响应)与鲁棒性(恶劣环境稳定运行)。 简
2025-07-19 00:00:00
1093
原创 十六进制与嵌入式系统及通信系统
嵌入式系统与通信协议中广泛使用十六进制表示数据,因其简洁(1字节=2位十六进制)、可读性强且与硬件直接映射。十六进制便于位操作、寄存器配置和协议分析,在串口、SPI、I2C等通信中普遍应用。相比二进制更紧凑,比十进制更直观,能快速反映位模式,是嵌入式开发调试的重要工具。实际应用中需注意大小写、字节序及数据校验等细节。
2025-07-18 00:00:00
775
原创 C/C++---I/O流库 rdbuf()函数
C++中的rdbuf()函数是I/O流库的核心成员,用于访问和操作流缓冲区。该函数有两种形式:获取缓冲区指针和设置新缓冲区。主要应用包括:1) 直接操作流缓冲区高效处理数据;2) 实现流重定向,如将输出重定向到文件;3) 操作内存和字符串流;4) 创建自定义流缓冲区。高级应用涉及二进制数据处理和流过滤器实现。rdbuf()提供了底层流控制能力,在需要高效I/O操作或自定义流行为时非常有用,是连接流对象和缓冲区的关键接口。
2025-07-18 00:00:00
667
原创 Opencv---cv::minMaxLoc函数
OpenCV中的cv::minMaxLoc函数是计算机视觉中用于定位图像极值的核心工具,能够高效地在单通道或多通道图像中寻找全局最小值和最大值,并返回其数值和坐标位置。该函数支持多种数据类型和掩码操作,适用于图像预处理、目标检测、工业质检等场景。通过分析函数原型、参数含义和工作原理,本文详细介绍了其使用方法,包括基础的单通道灰度图分析和进阶的ROI区域分析示例。关键点包括:函数通过指针返回极值结果,支持灵活参数组合;多通道图像需拆分处理;掩码机制
2025-07-17 00:00:00
988
原创 C++---emplace_back与push_back
C++中push_back和emplace_back是向容器添加元素的两种方法。push_back通过拷贝或移动已有对象到容器尾部,而emplace_back利用完美转发直接在容器内存中构造对象,避免了额外的拷贝/移动操作。二者的核心差异在于:构造方式(push_back需要完整对象,emplace_back接收构造参数)、性能表现(emplace_back通常更高效)和适用场景(简单对象用push_back,复杂构造用emplace_back)。emplace_back通过原位构造技术特别适合处理构造代价
2025-07-17 00:00:00
1395
原创 Windows 下 Visual Studio 开发 C++ 项目的部署流程
摘要:在Windows环境中使用Visual Studio开发C++项目时,部署环节需要重点解决文件整合、依赖管理和路径配置问题。核心要点包括:正确配置项目类型和目标平台(x86/x64),选择Release模式编译;统一管理输出目录,确保可执行文件与依赖库(如CRT运行时和第三方DLL)位于同一路径;通过生成事件或脚本自动化部署过程,减少手动操作失误;合理处理配置文件和资源文件的路径问题。部署前建议使用Dependency Walker等工具检查依赖完整性,确保程序在不同环境中的兼容性。
2025-07-16 00:00:00
1077
原创 部署项目将dll放到system32?不可取
摘要: 将第三方DLL文件放入Windows系统目录System32虽能临时解决依赖问题,但存在严重隐患。这种做法可能引发权限问题、版本冲突、系统兼容性风险,甚至被恶意利用。正确的部署方式包括:将DLL与程序放在同一目录、设置PATH环境变量共享DLL、使用专用目录或通过应用程序清单指定路径。遵循规范部署可确保程序稳定运行,避免系统安全风险。(149字)
2025-07-16 00:00:00
276
原创 YOLOv11开发流程
YOLOv11目标检测实战指南 YOLOv11是实时目标检测算法YOLO的最新版本,在保持高速检测的同时提升了精度。本文介绍了YOLOv11的完整使用流程:从环境搭建(Python、PyTorch)、数据准备(数据集结构、标注格式)到模型配置(预训练模型选择、自定义结构)。详细讲解了训练命令、参数设置和高级技巧(混合精度、多GPU训练),以及模型验证、推理(图片/视频/摄像头)和导出方法(ONNX、TensorRT等格式)。最后还提供了模型部署方案,帮助用户快速掌握YOLOv11的完整应用流程。
2025-07-15 00:00:00
789
原创 YOLOv11调参指南
YOLOv11调参指南:本文详细介绍了YOLOv11目标检测算法的参数体系与调优策略。内容涵盖四大核心参数模块:模型结构参数(骨干网络、颈部网络)、训练参数(优化器、学习率调度、数据增强)、检测参数(锚框、检测头)以及部署参数(量化、加速)。针对不同应用场景(小目标检测、实时检测、长尾分布数据集)提供了具体调参方案,并介绍了超参数自动优化方法。文章还给出了从基线模型训练到最终参数微调的完整实战流程,帮助开发者根据具体任务需求优化模型性能。
2025-07-15 00:00:00
1410
原创 Opencv---blobFromImage
cv::dnn::blobFromImage是OpenCV中用于图像预处理的关键函数,将图像转换为深度学习模型所需的4维blob格式。主要功能包括调整尺寸、归一化像素值、通道转换(BGR→RGB)和减去均值。函数参数控制目标尺寸、缩放比例、均值处理等细节,需根据模型要求设置。示例展示了YOLOv5模型的预处理流程,包括尺寸调整、归一化和通道转换。注意事项包括通道顺序、均值处理顺序及裁剪/拉伸选择。该函数是连接原始图像与模型输入的重要预处理步骤。
2025-07-14 00:00:00
664
原创 ROS2---NodeOptions
ROS 2中的NodeOptions是一个用于灵活配置节点初始化参数的类,它允许开发者在不修改源代码的情况下自定义节点行为。主要功能包括:参数处理(自动声明参数、加载YAML文件)、命名空间设置与话题重映射、回调组配置(MutuallyExclusive/Reentrant类型)、进程内通信、QoS策略调整等。通过链式调用方法,开发者可以便捷地设置节点运行时行为,满足不同应用场景的需求,如多机器人模拟、测试环境配置和性能优化等。NodeOptions使ROS 2节点的设计更加模块化和可复用。
2025-07-14 00:00:00
1378
原创 Opencv---深度学习开发
模块展开,该模块支持加载预训练模型、预处理输入数据、执行推理计算以及解析输出结果。该流程适用于分类、检测、分割等多种任务,关键在于根据模型类型正确预处理输入和解析输出,同时可通过硬件加速优化推理速度。将预处理后的blob设置为神经网络的输入层,需指定输入层名称(可通过模型结构文件查看,如Caffe模型通常为。方法执行推理,获取输出结果。需根据具体模型的输出格式解析(如分割模型输出每个像素的类别,需转换为彩色掩码)。根据模型任务类型(分类、检测、分割等),解析输出的。,TensorFlow可能为。
2025-07-12 20:59:06
592
原创 C++---<cctype>
在C++里,<cctype>是一个至关重要的标准库头文件,它的主要作用是对单个字符进行分类和转换操作。这个头文件是从C语言的<ctype.h>继承而来的,为了能在C++中更好地使用,它把所有的函数都放在了std命名空间中。
2025-07-12 20:53:18
389
【CMake构建系统】基于CMake的项目构建与管理:宏定义、嵌套CMakeLists及流程控制详细介绍了文档的主要内容
2025-04-03
### 【CMake项目构建工具】CMake保姆级教程:跨平台项目自动化构建与管理
2025-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人