- 博客(1648)
- 资源 (67)
- 收藏
- 关注
原创 com0com 虚拟串口工具入门
com0com 适合开发调试,但需注意 驱动签名问题(Win10/Win11)。推荐使用 已签名版本 或 VSPD 替代。测试时确保 两个虚拟串口的参数一致。
2025-07-15 07:00:00
3271
1
原创 NVIDIA显卡驱动、CUDA、cuDNN 和 TensorRT 版本匹配指南
1)NVIDIA 显卡驱动需满足 CUDA 工具包的最低要求,例如 CUDA 11.8 需驱动版本 ≥515.43.04,CUDA 12.x 需驱动 ≥535.54.03。CUDA 与 cuDNN:需严格匹配,例如 CUDA 11.8 对应 cuDNN 8.6.0,CUDA 12.2 对应 cuDNN 8.9.0。显卡算力与CUDA版本的关系主要体现在显卡的Compute Capability(算力)决定了支持的CUDA版本。,输入显卡型号和操作系统类型,选择≥目标CUDA版本要求的驱动版本。
2025-03-09 20:34:18
39397
3
原创 Modbus测试工具ModbusPoll与Modbus Slave使用方法
Modbus测试工具ModbusPoll与Modbus Slave使用方法
2020-05-16 14:48:31
218651
42
原创 应用层与FPGA板子交互数据(共享内存+信号中断回调/共享内存+阻塞read读)
最佳组合数据传输共享内存 (DMA)。这是速度的保证。数据通知: SIGIO。这是最符合语义的选择。备用机制: 在驱动中同时实现等待队列 (wait_queue),这样应用程序除了信号之外,还可以使用select()或poll()来等待数据,提供更大的灵活性。为什么不单独用信号?因为信号不能携带数据内容本身,而且性能开销远大于直接访问共享内存。信号只是“敲门人”,数据都在“房间”(共享内存)里。性能关键点缓存一致性: 必须使用。大页内存。
2026-04-02 12:26:12
472
原创 onnx查看工具
本文介绍了ONNX模型的可视化工具和推理实现方法。主要内容包括: ONNX可视化工具对比: Netron:轻量级可视化工具,适合快速查看模型结构 NVIDIA工具:提供编辑和性能优化功能 AMD工具:针对RyzenAI硬件优化 ONNXRuntime:内置性能分析功能 使用Netron分析模型: 详细介绍了如何查看模型输入输出维度、数据类型 解释了常见形状格式的含义(如NCHW/NHWC) 提供了判断输入数据范围的方法 模型推理实现: 提供了C++和Python两种实现方案 C++方案基于ONNXRunti
2026-03-30 10:28:47
383
原创 根据图片位置查看灰度值的常用工具
在 "Known Distance" 中输入比例尺代表的实际长度(如 100),并在 "Unit of Length" 中输入单位(如 µm),并勾选 "Global" 使其对所有图像生效。在弹出的对话框中选择 "OK",这些图片就会被作为一个图像堆栈(Stack)打开,你可以通过底部的滑动条浏览每一帧。:点击 "OK" 后,ImageJ 会生成一个结果窗口,包含每个颗粒的面积、周长等信息,以及一个汇总窗口,显示颗粒总数和平均面积等。调整至满意后点击 "Apply",图像会变成二值(黑白)图。
2026-03-20 14:47:11
471
原创 TensorFlow C++库
libtensorflow_cc.so 核心C++库。包含了TensorFlow C++ API的所有功能,如构建图、运行会话等。无论哪种方式,这个库几乎都是必需的。
2026-03-04 12:57:12
580
原创 LibTorch
cpp// 继承 torch::nn::ModuleNet() {// 注册层(使用指针)// 前向传播注意使用注册子模块,以便参数管理和序列化。前向函数必须命名为forward。层可以通过->调用(因为存储的是指针)。需要继承并实现get()和size()。
2026-02-28 13:09:24
1000
原创 ONNX Runtime C++ 库
ONNX Runtime 为 C++ 提供了完整的推理 API,你可以通过集成它来在 C++ 项目中高效地运行 ONNX 模型。
2026-02-28 12:54:37
930
原创 Qt 开发中复制一个已有的 UI 窗体及其对应的 C++ 类
在 Qt 开发中,复制一个已有的 UI 窗体及其对应的 C++ 类通常涉及以下步骤。假设你有一个名为的界面文件,以及对应的和(如果使用的是基于 QWidget 的自定义类)。现在你想创建一个副本,命名为NewForm。
2026-02-28 09:00:51
566
原创 应用层与FPGA板子交互数据(DMA控制器回调数据+bram共享内存读)
这个场景通常发生在带有硬核或软核处理器(如ARM Cortex-A/M, MicroBlaze, RISC-V)的SoC FPGA系统中,例如Xilinx Zynq/MPSOC或Intel Cyclone V/10 SoC。目标: 实现FPGA逻辑(PL侧)与处理器(PS侧)之间的大批量、高速、低开销数据交换。核心组件DMA控制器: 负责在外部内存(如DDR)和FPGA内部的BRAM之间搬运数据,无需CPU参与,极大解放CPU资源。BRAM共享内存: 作为FPGA逻辑和处理器之间的“邮箱”或“共享缓冲区”
2026-02-23 10:28:05
702
原创 GStreamer常用插件
textgst-plugins-base # 基础插件(必需)gst-plugins-good # 高质量插件(推荐)gst-plugins-bad # 质量不稳定插件gst-plugins-ugly # 有专利/法律问题的插件gst-libav # FFmpeg 封装插件输入源插件 (Source)视频输入 插件 功能 平台 测试视频源(彩条、雪花等) 全平台
2026-02-10 12:58:28
57
原创 C++内存序
在 C++ 中,内存序(Memory Order)是多线程编程中原子操作的重要概念,它用于控制原子操作的内存同步行为。C++11 引入了<atomic>头文件,提供了内存序来控制多线程环境下的内存访问顺序。
2026-01-07 13:04:29
402
原创 udev规则文件的作用
当 wlan0 网卡被添加,且驱动为特定型号时启动服务。# 允许用户"developer"访问所有USB设备。# 3. 检查脚本环境(udev 运行环境有限):使用数字前缀控制顺序(01-,50-,99-)# 查看 USB WiFi 适配器信息。# 当检测到 wlan0 网卡可用时。# 插入 WiFi 适配器时查看输出。# 更安全的版本(检查文件系统类型)# 使用 KERNELS(向上匹配)# 查看 wlan0 的详细信息。# 根据位置重命名(USB端口)# WiFi网卡强制使用特定驱动。
2025-12-30 12:51:13
773
原创 ZYNQ应用程序开机启动
在 /etc/init.d 创建bash/bin/shstart() {# 等待网络while!dosleep 1done# 启动应用echo $!;stop)stop;;;*)exit 1;;
2025-12-30 12:30:37
860
原创 QT中使用第三方字体库(比如:思源黑体等)
Write-Host '字体缓存刷新成功' -ForegroundColor Green } catch { Write-Host '字体缓存刷新失败: $($_.Exception.Message)' -ForegroundColor Red }" >nul 2>&1。Write-Error "安装字体失败: $fontName - $($_.Exception.Message)"安装字体到系统font目录下,通过右键点击字体文件安装,安装后,重启Qt Creator,在UI编辑器中就可以使用该字体了。
2025-12-08 11:18:30
1386
原创 windows 11中利用wlanapi库开启虚拟wifi(在没有internet情况下)
特性正确方式(物理→虚拟)错误方式(虚拟→物理)网络流向互联网 → 物理WiFi → 虚拟WiFi → 客户端虚拟WiFi → 物理WiFi →?NAT功能Windows ICS自动处理需要手动配置DHCP服务自动提供IP地址需要手动设置DNS解析自动转发DNS查询需要手动配置稳定性高(微软官方支持)低(手动配置复杂)客户端上网支持通常不支持在只组建局域网(不上网)的情况下,两种方式有很大的区别!
2025-12-01 13:11:00
735
原创 Qt中QMessageBox使用
/ 标准按钮组合QMessageBox::Ok // 确定QMessageBox::Open // 打开QMessageBox::Save // 保存QMessageBox::Cancel // 取消QMessageBox::Close // 关闭QMessageBox::Discard // 放弃QMessageBox::Apply // 应用QMessageBox::Reset // 重置QMessageBox::RestoreDefaults // 恢复默认。
2025-11-28 13:09:00
517
原创 GStreamer 中的FFmpeg集成
GStreamer 通过gst-libav插件包使用 FFmpeg,不是直接内嵌。FFmpeg 是可选的,但强烈推荐安装以获得完整的格式支持。当硬件或专用编解码器不可用时FFmpeg作为后备。安装建议bash# 完整的 GStreamer 安装(包含 FFmpeg 支持)
2025-11-22 14:14:14
233
原创 Qt中Modbus协议
是一个基类,用于表示 Modbus 客户端(主站),具体的网络协议由派生类(如和)实现。物理层数据传输: 二进制格式校验: CRC16 校验地址范围: 1-247物理层数据传输: ASCII 文本格式(十六进制ASCII字符)起始符(0x3A)结束符CR LF校验: LRC 纵向冗余校验地址范围: 0-247qmake传输层: TCP/IP端口号: 默认 502协议标识: 0x0000 (Modbus协议)单元标识: 从站地址(兼容串行链路)无校验: 依赖TCP的可靠性。
2025-11-18 23:09:26
1489
原创 Qt中日期/时间/时区类 (QDate, QTime, QDateTime,QTimeZone)
qDebug() << "UTC偏移:" << systemTimeZone.standardTimeOffset() / 3600 << "小时";qDebug() << "夏令时偏移:" << timeZone.daylightTimeOffset(dt) / 3600 << "小时";qDebug() << "原始时间(北京):" << beijingTime.toString("yyyy-MM-dd hh:mm:ss t");
2025-11-08 12:59:08
892
原创 GStreamer H.265/HEVC 视频解码流程
"max-threads", 4, // 限制解码线程数。"output-corrupt", FALSE, // 不输出损坏帧。// 链接 source -> demuxer。H.265 编码数据 → 解析 → 解码 → 后处理 → 显示/保存。// 动态连接 demuxer 的输出。// 尝试硬件解码器(按优先级)// 配置软件解码器参数。// 原始 H.265 文件流程。// 根据文件类型选择 demuxer。// 在这里处理帧数据...// 简单的文件扩展名检测。
2025-11-05 09:03:22
397
原创 导入3D软件制作的模型,VTK编程修改特定部件的属性来实现动画效果
的定时器来实现动画循环。(颜色、透明度、材质)或底层的。或组合多个PolyData。这样你可以精确控制每个部件。(顶点坐标,实现形变)。为每个部件创建独立的。在C++中,通常使用。(位置、旋转、缩放)、分别读取每个部件文件。
2025-10-30 08:50:05
207
原创 VTK中高级与特殊功能库
是 VTK 中图像处理的基础模块图像数据结构等核心图像类基本图像操作:裁剪、重采样、算术运算等图像滤波器:基础图像处理滤波器图像I/O支持:图像读写的基础设施坐标系统:图像空间到世界空间的转换核心地位:所有高级图像处理功能都建立在之上。是 VTK 中图像颜色处理模块颜色空间转换:RGB、HSV、Lab、YUV 等颜色空间之间的转换颜色调整:亮度、对比度、gamma校正、色相调整等颜色映射:将灰度图像映射为彩色图像颜色量化:减少图像颜色数量特殊颜色效果: sepia、负片等特效核心功能。
2025-10-29 08:52:30
152
原创 VTK中数据处理与滤波库
核心滤波器: 包含最常用的数据处理算法数据裁剪用于平面裁剪阈值提取基于标量值提取数据数据清理优化数据结构连通性分析用于区域分割三角化用于网格生成高级滤波器: 提供特殊但常用的数据处理功能几何变形和用于几何变形几何分析计算曲面曲率场计算计算梯度场几何创建创建扇形区域数据转换用于数据格式转换几何提取: 从各种数据集中提取几何信息特征识别: 识别和提取几何特征(边、轮廓等)表面处理: 处理3D数据的表面表示边界操作: 提取和处理数据边界通用接口: 提供统一的几何处理接口几何创建: 从2D轮廓创建复杂3D几何体。
2025-10-28 08:58:07
132
原创 VTK中输入输出库
cpp// 简单的自定义读取器(概念演示)public:if (!return 0;if (!return 0;// 创建输出数据// 简单格式:第一行是点数,然后是点坐标,然后是单元连接i++) {return 1;protected:private:// 创建测试文件// 3个点// 使用自定义读取器// 清理return 0;I/O 系统核心vtkIOCore。
2025-10-27 09:04:06
205
原创 GStreamer实现屏幕录制(视频+麦克风音频)并编码成视频文件
编码速度预设(ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow)# 使用 pipewiresrc 录制屏幕和音频。// 设置 Ctrl+C 信号处理。# 录制屏幕 + 麦克风到 MP4 文件。# Windows 屏幕录制 + 音频。# 录制特定区域(需要知道坐标)# 录制 60 秒后自动停止。:零延迟调优,适合实时录制。# 录制屏幕和麦克风到文件。# macOS 屏幕录制。低延迟录制(适合直播)
2025-10-26 13:08:02
282
原创 GStreamer音频编码
44100Hz (CD质量), 48000Hz (专业音频), 16000Hz (语音): AAC (兼容性/质量平衡), Vorbis (开放格式): 1 (单声道), 2 (立体声), 6 (5.1环绕声)音频编码是将原始音频数据(PCM)转换为压缩格式的过程。# 生成 10 秒 440Hz 正弦波,编码为 AAC。: Opus (低延迟), G.711 (兼容性): FLAC (无损), AAC (高码率有损)# 录制 10 秒麦克风音频为 AAC。# 编码为 Opus 格式。
2025-10-25 09:32:20
110
原创 GStreamer视频编码
是一个 GStreamer 元素(Element),负责执行编码算法。:设置最大 GOP 大小,即每30帧一个关键帧,便于观众快速接入。:控制速度与质量的平衡(0-8,值越大速度越快,质量越低)。:将视频流打包成 FLV 容器,这是 RTMP 常用的格式。)转换为压缩的视频流(例如 H.264、VP8 等)。格式,数据量大,适合处理但不适合存储或传输。),数据量小,适合存储为文件或进行网络流传输。下面是一些常见的视频编码应用场景的管道示例。过程,它将原始的、未压缩的视频数据(例如。
2025-10-24 09:16:06
282
原创 VTK中渲染与交互库
渲染管线核心组件:Actor、Mapper、Renderer、RenderWindow 等图形原语:控制可视化对象的外观和行为相机和灯光系统:控制场景的视角和照明属性系统:控制颜色、纹理、透明度等视觉属性抽象接口:为不同渲染后端提供统一API核心地位:几乎所有其他渲染模块(OpenGL2、OpenGL等)都建立在之上。cpp// 高级属性设置// 材质属性// 渲染效果// Phong着色// 背面剔除// 线框和点渲染// 表面渲染。
2025-10-24 08:59:11
215
原创 Windows 11/10 “移动热点”开启的几种方式
windows 11系统自带共享移动热点,必须连接以太网,中间会定时检测,如果断开以太网,wifi热点就会失效。4.360免费wifi,首次创建虚拟wifi热点时,必须连接以太网,中间可以不用连以太网。在设备管理器的无线网卡“属性”中,进入“驱动程序”选项卡,点击“回退驱动程序”。这个功能的目的就是在没有设备连接时关闭热点以省电,但如果判断机制不灵敏,可能会误判手机短暂的网络空闲而断开连接。:如果你的电脑上还有其他网络连接(如以太网)也启用了共享,请将其共享关闭,只保留环回适配器的共享。
2025-10-23 09:08:34
3882
原创 VTK中核心基础库
永远优先使用: 这是编写安全、无内存泄漏的 VTK 代码的第一条也是最重要的一条规则。理解对象模型: 几乎所有东西都继承自vtkObject,并通过引用计数管理内存。数据数组是基础及其子类是存储数值数据的核心容器,后续的滤波器、Mapper 等都依赖于它。是基石: 虽然它自己不画图,但没有它,VTK 的一切都无法工作。它是你进入 VTK 世界的大门。通过掌握的这些基本概念,你就为学习 VTK 更高级的模块(如数据处理、渲染)打下了坚实的基础。数据模型是核心: 理解的区别和用途是使用 VTK 的关键。
2025-10-22 09:03:36
146
基于改进的S I F T特征的图像双向匹配算法
2010-07-21
VC编写与调用COM连接点demo
2011-07-12
CppUnit测试框架在VC2008中应用
2010-07-19
调试Release程序--Dump文件方式
2014-05-15
C++ 检测内存泄漏
2011-04-27
CH340, CH340G & CH341 (USB-SERIAL chip) V3.5
2024-04-16
librtmp x64 vs2015版本库文件
2022-05-09
websocketpp实例代码
2018-11-29
LengthFieldBasedFrameDecoder 实例代码
2017-12-02
微软TTS语音引擎实现文本朗读代码
2017-11-07
ice同步调用和异步调用实例代码
2019-04-07
thrift web实例代码
2018-12-07
MessagePack序列化实例代码
2017-12-02
Qt中调用MFC对话框
2019-03-23
netty 分隔符解码器使用实例
2017-12-02
pcm与g726相互转换
2017-11-02
Modbus C++实例
2017-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅