自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 昇腾 NPU 推理环境搭建与模型转换部署手册

本文档基于昇腾Ascend 310P3、aarch64架构、Ubuntu 22.04系统,详述CANN8.x环境下从零部署AI推理全流程:涵盖环境检查、NPU驱动与固件安装、CANN Toolkit及依赖组件配置、ONNX模型转OM、ais_bench推理工具安装与权限设置,并提供命令行与Python接口推理示例。全文指令可直接执行,适配实际环境后即可完成模型转换与高性能推理部署。

2026-10-21 17:16:48 306

原创 昇腾 NPU 推理环境安装与配置文档

适用场景:昇腾 aarch64 服务器 / 推理盒子,离线或内网环境,Python 3.10,Ubuntu 22.04。本文档不包含 Docker 部署内容。

2026-10-21 14:14:26 248

原创 昇腾 NPU Docker 部署实战:解决 stub library 报错并实现模型正常加载

Stub library 可以理解为用于特定开发、编译或链接场景的桩库。它不一定具备实际执行所需的运行时能力。如果程序在运行时加载了不适用于实际执行的桩库,就可能出现初始化失败。遇到此类问题时,应重点检查:实际加载的是哪个动态库文件。动态库搜索路径是否正确。是否存在多个同名动态库。动态库依赖是否完整。宿主机驱动和硬件设备是否正常。容器是否具备访问设备的权限。不要仅仅通过重新安装 Python 包来解决所有初始化问题。

2026-10-21 14:11:43 405

原创 Python Tkinter 界面开发实战手册

Tkinter 是 Python 的标准 GUI 库,随 Python 一起安装,无需额外安装。

2026-08-31 18:01:09 519

原创 Python异步编程终极指南:从asyncio到FastAPI高并发调优

asyncio提供了不同的方案:单线程运行一个事件循环,同时管理成千上万的并发操作。当一个操作遇到I/O时,它主动让出控制权给事件循环,事件循环立即运行下一个就绪的操作。结果是:单个Python进程可以管理数万个并发连接,内存开销却很小。

2026-08-28 18:10:31 234

原创 TypeError: MotionControlGUI._connect_signals.<locals>.<lambda>() missing 1 required positional argum

TypeError: MotionControlGUI._connect_signals.<locals>.<lambda>() missing 1 required positional argument: 'checked'

2026-08-28 18:05:29 225

原创 Python 3.13 新特性抢先看:性能提升与模式匹配在实际项目中的应用

Python 3.13 于 2024 年 10 月正式发布,是 CPython 解释器的重大版本更新。相较于 3.12,3.13 带来了显著的性能优化、更强大的模式匹配能力以及一系列开发者体验改进。本文将从性能提升、模式匹配实战、类型系统增强等维度,深入剖析 Python 3.13 的核心新特性,并结合实际项目场景给出代码示例。

2026-08-28 17:58:37 463

原创 轮廓所有“心“的求法完整指南

在计算机视觉和几何学中,针对图像轮廓求"心"是常见的操作。本文档系统整理了 **8 种**常用的"心"的计算方法,包括概念辨析、适用场景和 OpenCV 代码实现。

2026-08-27 17:51:04 378

原创 数据集清洗工具:双向校验与清理

在目标检测(YOLO)或图像分割(Labelme)任务中,图片与标签文件名不匹配是常见痛点。本工具集提供两个独立脚本,分别处理有图无标有标无的问题。

2026-08-27 17:40:31 176

原创 解决onnxruntime::sequential_executor.cc:516 onnxruntime::ExecuteKernel Non-zero status code returned w

解决onnxruntime::sequential_executor.cc:516 onnxruntime::ExecuteKernel Non-zero status code returned w

2026-08-26 17:46:03 404

原创 YOLO26 单目深度估计使用指南

本文档基于 Ultralytics YOLO26 官方文档整理,更多信息请参考 [Ultralytics 官方文档](https://docs.ultralytics.com)

2026-08-26 17:39:43 733 1

原创 机械臂关节空间与位姿(笛卡尔空间)运动的区别及应用场景

关节空间是以机器人各关节的角度(或线性位移)作为运动变量来描述机器人运动的坐标系。在关节空间中,机器人的运动是通过直接指定每个关节的目标角度来实现的,无需进行复杂的坐标变换。这种方式直接对应于机器人的物理驱动结构,控制逻辑相对简单。

2026-08-25 17:11:23 225

原创 机械臂 MoveJ 与 MoveL 的区别

MoveJ和MoveL是工业机器人两种基本运动指令:MoveJ控制关节空间运动,快速但不精确;MoveL控制末端直线运动,精确但较慢。实际应用中常先MoveJ快速定位,再用MoveL精确接近目标,兼顾效率与精度。两者本质区别在于MoveJ关注机械臂本体姿态,MoveL关注工具末端路径。

2026-08-25 17:06:05 448

原创 DeepAnythingV2 部署问题排查与解决指南

本文介绍了DeepAnythingV2单目深度估计模型的Windows部署过程,主要内容包括:1)创建Python 3.11虚拟环境并安装依赖;2)模型使用方式,支持本地加载和Transformers库调用两种方法;3)运行示例及可视化效果展示;4)针对SSL证书错误的详细解决方案,包括环境变量检查、OpenSSL版本验证等排查步骤。文档提供了从环境配置到模型推理的完整流程,特别针对国内用户可能遇到的网络问题给出了具体解决方法。

2026-08-25 09:30:00 999

原创 SSLError [ASN1: NOT_ENOUGH_DATA] 问题排查与解决指南

摘要:Windows系统中使用Anaconda的Python环境执行pip install时出现SSL握手错误(ASN1: NOT_ENOUGH_DATA),经排查发现是系统证书存储损坏导致。尝试清华、阿里云等镜像源均失败,确认问题源于本地环境。解决方案包括:1)创建Python 3.11新环境利用其证书容错机制(推荐);2)通过修改sitecustomize.py跳过损坏证书(备选)。推荐方案一可有效解决问题。

2026-08-24 10:00:00 714 1

原创 xFormers not available 问题详解

在运行 Depth Anything V2 项目时,终端会输出如下提示信息:xFormers not available同时可能伴随以下警告信息:W0820 14:57:44.561000 33444 site-packages\torch\utils\flop_counter.py:29] triton not found; flop counting will not work for triton kernelsA matching Triton is not available

2026-08-24 09:30:00 640

原创 PyInstaller 打包程序 PermissionError 日志写入权限问题排查与解决方案

文章摘要: PyInstaller打包的Python程序运行时因权限不足无法写入系统目录下的日志文件,触发PermissionError。根本原因是Windows系统保护目录C:\Program Files禁止普通用户写入。解决方案包括:1)最佳实践是将日志路径改为用户目录(推荐方案);2)移动程序到非系统目录;3)打包时请求管理员权限;4)手动以管理员运行。工业软件应遵循规范:程序文件放系统目录,日志/配置等频繁写入内容存用户目录(如AppData)。核心原则是避免在系统保护目录进行写操作,推荐使用方案一

2026-08-13 17:43:22 434

原创 OpenCV cv2.circle() 坐标类型错误排查与修复指南

OpenCV的cv2.circle()函数绘制圆形时,若圆心坐标或半径参数为浮点数会报类型错误。常见触发场景包括:使用除法运算产生浮点坐标、特征检测返回浮点结果、深度学习模型输出浮点坐标及NumPy数组类型问题。解决方法是对所有坐标和半径参数进行int()强制类型转换,或使用整除运算符//。建议封装安全绘图函数自动处理类型转换,避免此类错误。核心原则是确保传入cv2.circle()的坐标和半径必须为整数类型。

2026-08-13 16:17:25 346

原创 Python 使用 cryptography 实现数据加密与解密

本文介绍了使用Python的cryptography库实现敏感数据加密存储的方法,适用于工业软件、视觉检测软件等需要保护配置信息的场景。文章重点讲解了Fernet对称加密算法的应用,包括密钥生成、数据加密/解密流程,并提供了封装加密管理类的示例代码。同时指出密钥安全存储的重要性,推荐将密钥保存在系统安全区域而非代码中。最后展示了加密技术在JSON配置文件和软件授权验证中的实际应用方案,为工业软件的数据保护提供了完整解决方案。

2026-08-12 17:18:49 550

原创 Qt/Python 应用中因多次点击按钮导致重复初始化问题分析与解决方案

本文分析了Qt/Python桌面应用中因重复点击导致的多次初始化问题。常见场景包括用户快速点击按钮或回车键,导致主窗口、硬件设备被重复创建。主要原因包括:事件缺乏防重复机制、禁用按钮时机不当、窗口无单例保护以及对象生命周期管理问题。解决方案建议:1)添加操作锁和状态变量防止重复执行;2)主窗口创建增加单例保护;3)保持对象引用避免被回收;4)统一按钮和键盘事件入口;5)使用资源管理器管理硬件设备。文中还提供了调试定位方法和推荐的组合方案,强调在工业控制等场景中应保证初始化流程的幂等性,避免资源冲突和设备占用

2026-08-12 17:14:52 265

原创 PyInstaller 打包后快捷方式图标设置方案

本文详细介绍了Python程序打包为exe时设置图标及创建桌面快捷方式的方法。主要内容包括:1)使用PyInstaller打包时通过-i参数指定多尺寸ico图标文件;2)三种创建桌面快捷方式的方法(手动创建、Python脚本自动创建、bat脚本创建);3)快捷方式图标修改的步骤和注意事项;4)图标不显示的排查方案;5)完整流程总结和两种图标设置方式的对比。文章提供了具体命令和代码示例,并强调了使用多尺寸ico文件的重要性,建议打包时设置exe图标并配合手动修改快捷方式图标以获得最佳效果。

2026-08-11 11:19:35 403

原创 Web 页面接入扫码枪的常见问题与解决方案

本文介绍了Web系统接入扫码枪的常见问题与解决方案。扫码枪在USB HID模式下相当于键盘输入设备,通过模拟键盘输入实现数据传输。主要问题包括:自动查询缺失(通过监听回车事件解决)、数据清除不及时(页面加载时自动清空输入框)、区分手动与扫码输入(基于输入速度或前缀标识法)以及日期筛选默认值设置。解决方案均围绕自动聚焦-接收数据-触发查询-重置流程展开,无需额外驱动即可实现高效扫码查询体验。关键注意事项包括输入法状态管理、扫码枪后缀配置等,最终实现"扫码即查"的无缝交互流程。

2026-08-11 11:08:23 515

原创 功能测试速查手册

功能测试是验证软件功能是否符合需求的测试方法,属于黑盒测试,无需了解内部代码。核心流程包括需求分析、设计测试用例、搭建环境、执行测试、缺陷管理和回归测试。测试类型涵盖单元测试、集成测试、系统测试、冒烟测试、回归测试和用户验收测试。测试用例需规范编写,采用等价类划分、边界值分析等方法设计。功能测试与压力测试不同,前者关注正确性,后者关注性能。常用工具包括Postman、Selenium等。功能测试确保"做对",压测确保"扛住",两者缺一不可。

2026-08-07 15:12:14 349

原创 压测工具对比速查表

本文系统介绍了主流压力测试工具及其应用场景,帮助开发者评估系统在高并发下的表现。主要内容包括: 工具对比:从语言环境、协议支持、并发模型等维度对比了wrk、locust、k6、ab、JMeter等6款主流压测工具的特点和适用场景。 详细指南:提供各工具的安装命令、核心参数速查表和典型使用示例,包括wrk的Lua脚本、locust的用户行为模拟、k6的JavaScript测试脚本等。 场景选择:针对不同测试需求(如快速验证、复杂业务流程、CI/CD集成等)给出工具选型建议。 关键指标:解释QPS、响应时间(P

2026-08-07 15:07:15 442

原创 FastAPI 核心速查与实战手册

本文介绍了FastAPI框架的快速入门与核心功能,包括环境配置、参数处理、Pydantic数据校验、依赖注入系统、自动化文档生成以及项目架构与部署的最佳实践。通过代码示例展示了如何构建最小应用、处理混合参数、定义数据模型、实现权限校验和管理数据库会话。文章还提供了安全清单和生产部署方案,推荐使用Uvicorn与Nginx的组合,并给出了实战学习路径,从入门到高阶项目开发。FastAPI利用Python类型提示和Pydantic实现高效开发,适合构建现代API应用。

2026-08-06 17:43:16 210

原创 Flask 核心速查与实战手册

本文介绍了Flask框架的核心使用方法和最佳实践。主要内容包括:1)环境配置与快速启动,推荐使用虚拟环境和工厂模式;2)路由与请求处理,详解动态参数、HTTP方法和数据提取;3)Jinja2模板引擎的语法和安全特性;4)数据库操作与SQLAlchemy ORM;5)常用扩展如Flask-Login、Flask-WTF等;6)项目架构设计,使用蓝图实现模块化;7)安全防护与生产部署方案,推荐Gunicorn+Nginx组合;8)从入门到进阶的实战学习路径。全文提供了大量代码示例,适合开发者快速掌握Flask开

2026-08-06 17:38:39 385

原创 Python Jinja2 模板引擎详解与实战

摘要: Jinja2 是 Python 生态中广泛使用的现代模板引擎,核心特性包括模板继承、沙箱安全和高效编译。支持变量替换(含过滤器链式调用)、控制结构(条件/循环)、宏定义和模块化继承,适用于 Web 开发(如 Flask)、LLM 对话模板(如 Hugging Face)及配置生成(如 Ansible)。通过 Environment 配置可启用缓存、自动转义等优化,并提供自定义过滤器和测试的扩展能力。其语法简洁强大,支持多级继承和组件化开发,兼顾性能与安全性,是动态内容生成的首选工具。

2026-08-06 17:28:09 301

原创 Python OpenCV 工业视觉实战:单目与双目视觉原理、相机标定及三维测量详解

本文系统介绍了工业视觉中单目与双目视觉技术。单目系统通过二维图像获取信息但缺乏深度数据,而双目系统利用视差计算深度。重点阐述了相机模型(包括针孔模型、内外参矩阵)、坐标系统转换以及相机畸变模型(径向/切向畸变)。详细讲解了单目相机标定流程,包括标定板选择、OpenCV实现代码和标定质量评估方法。最后提供了畸变校正的Python实现,包括静态图像处理和实时视频流优化技术,为工业视觉应用提供了完整的技术方案。

2026-08-05 12:02:13 566

原创 Python OpenCV 相机标定与畸变校正详解与实战

相机标定与畸变校正是计算机视觉中的关键步骤,用于消除图像几何失真并获取相机内在参数。OpenCV提供了一套完整的标定流程,主要包括径向畸变(桶形/枕形)和切向畸变两类模型,通过棋盘格标定板求解内参矩阵和畸变系数。实践步骤包括:采集多角度标定板图像、检测亚像素级角点、计算标定参数(内参、畸变系数)以及进行图像校正。工程应用中需注意标定板平整度、拍摄姿态多样性、重投影误差评估(应<0.5像素)以及参数有效期(镜头调整后需重新标定)。此外,针对鱼眼镜头等极端畸变需使用专用模型。精准标定是后续三维重建、SLAM等任

2026-08-05 11:48:51 325

原创 Python OpenCV CLAHE自适应直方图均衡化详解与实战

CLAHE 是 OpenCV 中解决光照不均问题的核心算法,其分块自适应与对比度限制机制,在增强局部细节与抑制噪声之间取得了完美平衡。实战中需根据图像类型选择正确的色彩空间,通过参数调优平衡增强效果与噪声抑制,并与其他算法组合应对复杂场景。对于超出传统算法能力范围的复杂图像问题,应及时转向基于深度学习的 AI 方案,避免陷入传统算法的局限。掌握 CLAHE 的原理与实战技巧,是构建稳定、高效计算机视觉系统的重要基础。

2026-08-04 15:43:07 356

原创 Python OpenCV 图像增强算法详解与实战

本文系统介绍了图像增强技术及其核心方法。图像增强旨在改善图像视觉效果或算法友好性,广泛应用于目标检测、OCR识别、工业检测等领域。主要内容包括:1)空间域增强(灰度变换、Gamma校正);2)直方图增强(均衡化、CLAHE);3)去噪算法(均值/高斯/中值/双边滤波);4)锐化增强(Laplacian、反锐化掩模);5)颜色空间增强(HSV、LAB空间)。文章提供了各方法的OpenCV实现代码、参数调优建议及适用场景分析,强调了不同算法的优缺点和选择策略。

2026-08-04 15:40:53 309

原创 Python OpenCV 光照补偿详解与实战

本文介绍了OpenCV中的光照补偿与增强技术,对比了线性变换、Gamma校正、直方图均衡化、CLAHE和Retinex等算法的原理、适用场景及局限性。针对不同光照问题,提供了Python代码实现,包括基础亮度调整、Gamma校正、CLAHE处理和Retinex分解。文章还给出了参数调优指南和组合策略建议,并指出传统算法的核心局限,如噪声放大风险和色彩空间选择等。最后强调,对于复杂修复任务需转向AI方案。这些技术可有效改善图像质量,为后续计算机视觉任务提供更好的输入。

2026-08-04 15:37:54 263

原创 Python OpenCV 图像修复(Inpainting)详解与实战

OpenCV提供两种传统图像修复算法:INPAINT_TELEA(快速行进法)和INPAINT_NS(Navier-Stokes法)。前者计算速度快,适合处理小面积平滑纹理;后者能更好保持边缘结构,但速度较慢。两种方法均需通过二值掩码指定修复区域,适用于划痕、水印等小面积瑕疵修复。核心流程包括:加载图像和掩码、选择算法(设置修复半径3-5)、执行修复。传统方法对大面积或复杂语义缺失效果有限,此时需采用AI修复技术。实际应用时需根据破损特性选择算法,并可通过锐化等后处理优化效果。

2026-08-03 16:31:31 477

原创 PyInstaller 打包后 ModuleNotFoundError 问题排查指南

本文分析了Python项目打包时常见的ModuleNotFoundError错误,指出该错误可能并非由模块未打包引起,而是模块内部代码执行失败导致的假象。文章详细阐释了Python模块导入机制,列举了四种常见原因:模块内部代码错误、缺失依赖、动态导入未被识别和文件名大小写问题,并提供了系统化的排查流程:单独测试模块导入、检查警告文件、启用调试日志等。最后给出解决方案和打包前检查清单,强调应优先检查模块内部错误而非直接归咎打包工具。通过理解import机制,开发者能更高效定位打包问题。

2026-08-03 16:14:04 235

原创 Nuitka 打包 PySide6 与 AI 项目实战避坑指南

本文总结了Windows下使用Nuitka打包含PySide6、PyTorch等重型依赖的Python项目时的完整解决方案。关键点包括:1)建立纯净编译环境,避免开发环境干扰;2)处理版本冲突,如PySide6 6.7.3+Python 3.9组合;3)优化编译参数,排除已编译库减少耗时;4)修复静默崩溃问题,通过控制台调试和显式包含缺失依赖;5)部署验证阶段的手动补全与测试。特别强调版本匹配、环境隔离和分阶段验证的重要性,提供从环境搭建到最终部署的全流程指导。

2026-07-31 15:09:28 347

原创 PaddleOCR源码运行正常,打包exe后报 The pipeline (OCR) does not exist 问题解决方案

本文分析了PaddleOCR程序在Python环境下运行正常但打包为exe后报错"OCR pipeline不存在"的问题。原因在于打包工具未能自动包含PaddleOCR 3.x版本引入的PaddleX管道配置文件等非Python资源。文章提出了多种解决方案:1)添加hidden-import;2)手动包含数据文件;3)Nuitka打包配置;4)建议工业部署使用更稳定的PaddleOCR 2.7.3版本。最终解决方案强调打包时需特别注意包含所有动态加载资源,而不仅是代码文件,这对工业视觉软件的部署具有重要指导

2026-07-30 16:58:45 349

原创 PyTorch 与 PaddlePaddle GPU 冲突导致 `_CudaDeviceProperties is already registered` 问题解决方案

工业视觉检测软件集成YOLO目标检测和OCR识别时,出现"_CudaDeviceProperties已注册"错误。经排查发现,PyTorch和PaddlePaddle两个框架同时使用GPU导致CUDA初始化冲突。解决方案是将OCR切换为CPU版本,保留YOLO使用GPU加速。最终环境配置为:PyTorch 1.13.1+cu116(GPU)、PaddleOCR 2.7.3(CPU)、Python 3.10。这种GPU+CPU的混合架构既保证了检测性能,又避免CUDA冲突,提升了系统稳定性。该案例表明,多AI

2026-07-30 16:55:16 471

原创 Python OpenCV 图像金字塔(Image Pyramid)详解与实战

本文档详细介绍了OpenCV图像金字塔的核心原理与应用,主要内容包括: 图像金字塔概述:解释多尺度表示方法及其在计算机视觉中的重要性,对比高斯金字塔(不可逆)和拉普拉斯金字塔(可逆)的特性。 高斯金字塔:详解构建过程(高斯模糊+降采样),提供cv2.pyrDown和cv2.pyrUp的API使用说明及注意事项。 拉普拉斯金字塔:阐述高频细节提取原理,给出代码实现及常见问题解决方案(如尺寸匹配、数据类型处理)。 实战案例: 无缝图像融合:通过拉普拉斯金字塔实现自然过渡 多尺度模板匹配:利用高斯金字塔加速搜索

2026-07-29 11:42:38 475

原创 Python OpenCV 距离变换(Distance Transform)详解与实战

摘要: 距离变换是计算机视觉中处理二值图像的重要方法,通过计算前景像素到最近背景像素的距离,生成包含几何信息的灰度图像。核心距离度量包括城市街区距离(快速但精度低)、棋盘距离(适合特定场景)和欧几里得距离(精度高)。OpenCV提供cv2.distanceTransform和cv2.distanceTransformWithLabels函数实现,支持不同参数调优。应用场景广泛,如粘连目标分割(结合分水岭算法)、骨架提取(通过距离极值)和前景/背景标记生成。实战示例展示了距离变换在硬币计数和可视化中的效果,凸

2026-07-29 11:02:20 483

原创 Python OpenCV 分水岭算法(Watershed)详解与实战

摘要: 分水岭算法(Watershed)是OpenCV中用于图像分割的经典方法,特别适用于粘连目标的分离,如药片、细胞、颗粒等。其原理是将灰度图模拟为地形,通过“灌水”形成分割边界。算法流程包括灰度化、二值化、形态学去噪、距离变换、前景/背景提取及连通域标记。OpenCV通过cv2.watershed()实现,结果中-1标记分割线。该算法在工业视觉(元件计数、AOI检测)和医学图像(细胞分割)中应用广泛,但需配合滤波和形态学处理以提升抗噪性。优点为高效分离粘连目标,缺点是对噪声敏感,需参数调优。

2026-07-28 10:02:45 487

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除