自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深之JohnChen的专栏

什么思想决定什么样行为;什么样行为决定什么样的习惯,什么样的习惯决定什么样性格,而什么性格决定什么样的命运。

  • 博客(1427)
  • 资源 (67)
  • 收藏
  • 关注

原创 使用Wavelib处理音频数据

Wavelib是一个强大的C语言库,特别适合处理音频信号。以下是使用Wavelib进行音频处理的完整方法。

2025-06-10 08:00:00 247

原创 使用Wavelib进行2D图像的SWT处理

Wavelib是一个用于信号和图像处理的C语言库,提供了离散小波变换(DWT)和平稳小波变换(SWT)等多种功能。下面我将介绍如何使用Wavelib对2D图像进行SWT(平稳小波变换)处理。

2025-06-09 08:00:00 328

原创 使用Wavelib进行2D图像的DWT处理

Wavelib提供了完整的2D离散小波变换(DWT)功能,适用于图像处理。下面我将详细介绍如何使用Wavelib对2D图像进行DWT处理。

2025-06-08 08:00:00 523

原创 Wavelib 小波变换中的子带

在小波变换中,特别是使用 Wavelib 这样的库时,图像或信号经过分解后会产生不同的子带,通常标记为 LL、LH、HL 和 HH。这些子带代表了不同的频率和方向信息。

2025-06-07 10:31:10 171

原创 VTK 显示文字、图片及2D/3D图

首先确保你已经安装了VTK库,并配置好了C++开发环境。‌:需转换UTF-8编码并使用中文字体文件(如。使用多分辨率技术,在交互时显示低分辨率版本。对于静态视图,可以预先计算并缓存渲染结果。适当降低采样率以提高交互性能。对于大型数据集,使用。

2025-06-06 23:20:28 469

原创 OSG 与 VTK 对比

OSG(OpenSceneGraph)和 VTK(Visualization Toolkit)都是强大的开源 3D 图形库,但它们的核心设计目标、架构和应用场景有显著差异。(数据源,如vtkImageData、vtkPolyData)采用树状结构管理 3D 场景(节点、几何体、光照、相机等)。(渲染映射,如vtkPolyDataMapper)(数据处理,如vtkContourFilter)3D 游戏、仿真(飞行模拟、驾驶模拟)的专家,适合游戏、仿真、交互式应用。的标杆,适合医学、工程、数据分析。

2025-06-05 08:00:00 926

原创 Qt OpenGL 3D 曲面图实现

在Qt中使用OpenGL实现3D曲面图是一个强大的数据可视化方法。下面我将介绍如何使用Qt和OpenGL创建3D曲面图。

2025-06-04 08:00:00 917

原创 Qt OpenGL 3D 点云数据显示

在Qt中使用OpenGL显示3D点云数据是一个常见的需求,特别是在计算机视觉、机器人学和三维重建等领域。下面我将介绍一个基本的实现方案。

2025-06-03 08:00:00 420

原创 Qt OpenGL 实现交互功能(如鼠标、键盘操作)

步骤操作相关函数/变量1. 事件捕获监听鼠标/键盘输入2. 状态更新修改相机参数或模型矩阵cameraPosyawpitch3. 矩阵计算重新计算视图/投影矩阵4. 重绘请求通知 Qt 需要刷新update()5. 实际渲染执行 OpenGL 绘制paintGL()

2025-06-02 13:15:15 1256

原创 Qt OpenGL 光照实现

Qt 中使用 OpenGL 实现光照效果主要基于 OpenGL 的光照模型和着色器编程。

2025-06-02 13:14:44 638

原创 Qt OpenGL 3D 编程入门

Qt 提供了强大的 OpenGL 集成功能,使得在 Qt 应用中实现 3D 图形变得更加简单。以下是使用 Qt 进行 OpenGL 3D 编程的基础知识。

2025-06-02 13:02:19 788

原创 Qt OpenGL 相机实现

private:在Qt中实现OpenGL相机主要涉及:创建相机类管理视图矩阵处理键盘和鼠标输入来控制相机在渲染时应用视图和投影矩阵根据需求扩展相机功能(FPS、弧球等)通过这种方式,你可以为Qt OpenGL应用程序创建灵活、功能丰富的相机系统。

2025-06-02 13:01:39 993

原创 OpenGL 3D 编程

OpenGL 是一个强大的跨平台图形 API,用于渲染 2D 和 3D 图形。以下是 OpenGL 3D 编程的入门基础。

2025-06-02 08:00:00 632

原创 Qt OpenGL编程常用类

功能:提供跨平台的 OpenGL ES 2.0+ / OpenGL 1.5+ 函数访问(避免直接使用平台相关的函数指针)。OpenGL 要求:需 OpenGL 3.0+ 或 OpenGL ES 3.0+(或通过扩展支持):默认支持 OpenGL ES 2.0+ 和 OpenGL 1.5+,更高版本功能需通过。功能:Qt 中封装 OpenGL 纹理操作的类,用于创建和管理纹理对象。:OpenGL 调用必须在拥有上下文的线程中执行(通常为主线程)。:OpenGL 调用必须在拥有上下文的线程中(通常为主线程)。

2025-06-01 19:48:37 869

原创 Wavelib 库的核心属性、方法

属性::小波名称(如"db4", "sym5"等):小波滤波器长度:低通分解滤波器系数:高通分解滤波器系数:低通重构滤波器系数:高通重构滤波器系数属性::使用的小波对象:变换方法("dwt","swt","modwt"等):边界延拓方式("sym","per","zpd"等):输入信号长度:输出长度:分解层数:变换结果数组:各层系数长度数组属性::阈值类型("hard","soft"):阈值计算方法("universal","sure","hybrid"):去噪后系数:信号长度:分解层数常用小波基

2025-06-01 15:21:02 817

原创 wavelib库 图像处理

(DWT):提取低频(近似)和高频(细节)成分:阈值处理高频系数:增强水平/垂直细节分量:保留显著系数,舍弃微小值确保已正确编译Wavelib(参考前文),并安装OpenCV用于图像读写:bash或通过C++直接使用OpenCV:cppcppcpp。

2025-05-31 09:31:28 801

原创 PCL 渲染显示

cpp 完整示例高级渲染特性 多视口渲染:cpp 自定义着色: 相机参数设置: 光照 显示法线 颜色点云显示

2025-05-30 13:19:25 1091

原创 傅里叶变换后得到的频谱中提取特定频率成分

在 C++ 中实现傅里叶变换(FFT)并提取特定频率成分,通常需要使用第三方库(如 FFTW 或 Eigen),因为标准库不直接提供 FFT 功能。创建实数到复数(Real-to-Complex)的FFT计划。合成一个包含50Hz和120Hz的正弦信号。用提取的幅度和相位合成目标频率的时域信号。:实数信号的FFT结果是对称的,只需处理前。,若目标频率不是整数倍,需插值或加窗。(乘以2因对称性,除以N归一化)。:FFTW支持多线程(需链接。执行变换,结果存储在。,找到目标频率的索引。

2025-05-30 08:00:00 269

原创 PCL 特征提取与匹配

点云特征提取与匹配是3D计算机视觉中的核心任务,广泛应用于物体识别、场景配准、SLAM等领域。

2025-05-29 12:56:45 449

原创 音频傅里叶变换后的幅度谱(Magnitude Spectrum)转换为分贝(dB)尺度

在音频处理中,通常使用直接转换为 dB,无需显式定义参考值 ArefAref​,而是采用或。

2025-05-29 08:00:00 352

原创 Wavelib库编译

假设你的程序。

2025-05-28 08:15:00 910

原创 Wavelib入门

Wavelib 是一个开源的信号和图像处理库,专注于小波变换的实现。它提供了多种小波变换功能,可用于图像压缩、去噪、特征提取等应用。

2025-05-27 08:00:00 666

原创 VTK渲染过程

VTK的渲染过程遵循标准的图形渲染管线,主要包括以下几个阶段:数据准备几何变换光照与着色光栅化最终图像合成。

2025-05-26 12:53:33 940

原创 小波变换概念

小波变换(Wavelet Transform)是一种数学工具,用于分析信号(如时间序列、图像等)在不同尺度和位置上的特征。小波变换通过多尺度分析实现了信号时频局部化的高效表示,在非平稳信号处理、数据压缩和特征提取中具有不可替代的优势。通过低通和高通滤波器组实现多级分解(如Mallat算法),将信号分解为近似(低频)和细节(高频)部分。与小波相比,傅里叶变换的基函数(正弦波)是无限持续的。小波变换可以同时在时域和频域局部化信号,通过不同尺度(对应不同频率)和位置分析信号的细节。

2025-05-26 08:00:00 500

原创 OSG Earth 入门

OSG Earth 是一个基于 OpenSceneGraph (OSG) 的开源地理空间开发工具包,用于创建高性能的3D地理空间应用程序。:构建在强大的3D图形引擎之上。:高效处理大规模地理数据:支持 Windows, Linux, macOS 等操作系统:提供灵活的编程接口。

2025-05-25 08:00:00 850

原创 Eigen 直线拟合/曲线拟合/圆拟合/椭圆拟合

使用Eigen库进行直线拟合是数据分析和科学计算中的常见任务,主要通过最小二乘法实现。该代码演示了二维空间中的直线拟合,输出斜率和截距。

2025-05-24 23:19:24 1015

原创 FFT Shift

FFT移位是频域处理的标准预处理步骤,通过简单的四象限交换,将低频信息移动到图像中心,使后续分析和可视化更加直观高效。

2025-05-24 18:08:04 933

原创 FFTW图像处理之频域滤波和频域分析

重用FFTW计划(plan)避免重复创建开销。对于大图像,考虑使用多线程FFTW。:应用汉宁窗等可以减少频谱泄漏。:在显示频谱前,可以使用。对于实数输入图像,使用。

2025-05-24 00:00:21 424

原创 FFTW图像处理入门

FFTW (Fastest Fourier Transform in the West) 是一个高效的离散傅里叶变换(DFT)库,特别适合图像处理应用。本指南将带你从零开始学习如何使用FFTW进行基本的图像处理操作。

2025-05-23 08:00:00 505

原创 Eigen矩阵存储顺序以及转换

矩阵按行顺序存储在内存中,即第一行的所有元素连续存储,接着是第二行,依此类推。

2025-05-22 23:52:56 1491

原创 Intel oneAPI对OpenCL 的支持

Intel oneAPI 提供了对 OpenCL 的完整支持,同时通过 DPC++/SYCL 提供了更现代的异构编程方案。本指南介绍如何在 oneAPI 环境下使用 OpenCL,并对比它与 DPC++ 的差异。在 oneAPI 中仍受支持,适合需要精细控制 GPU 的场合。提供更现代的 C++ 开发体验,推荐新项目使用。可将 OpenCL 内核转换为 SYCL 代码。分析 OpenCL 内核性能。查询设备能力,优化内核。可视化 GPU 使用情况。

2025-05-22 23:25:58 470

原创 Intel oneMKL 入门

Intel oneAPI Math Kernel Library (oneMKL) 是英特尔提供的高性能数学库,针对Intel处理器进行了深度优化,包含大量优化的数学例程,用于科学计算、工程模拟和金融分析等领域。

2025-05-22 23:19:50 461

原创 Intel oneAPI 入门

Intel oneAPI 是一个统一的编程模型,旨在简化跨架构(CPU、GPU、FPGA、AI加速器)的高性能计算开发。它提供了一系列工具和库,包括编译器(DPC++/C++)、性能库(如oneMKL、oneDNN)和分析工具(VTune、Advisor)。DPC++ 是 Intel 基于 SYCL 的 C++ 扩展,用于异构计算(CPU+GPU)。DPC++ 基于 SYCL,是开放标准,支持多厂商设备(Intel/AMD/NVIDIA)。编程能力(CPU/GPU/FPGA)。(高性能计算工具包)

2025-05-22 23:16:47 510

原创 CUDA 加速的稀疏矩阵计算库cuSPARSE

cuSPARSE 是 NVIDIA 提供的 GPU 加速稀疏矩阵计算库,包含一系列用于处理稀疏矩阵的基本线性代数子程序。

2025-05-22 23:09:12 915

原创 CUDA加速的线性代数求解器库cuSOLVER

cuSOLVER是NVIDIA提供的GPU加速线性代数库,专注于稠密和稀疏矩阵的高级线性代数运算。它建立在cuBLAS和cuSPARSE之上,提供了更高级的线性代数功能。

2025-05-22 23:01:34 737

原创 CUDA 加速的基础线性代数库cuBLAS

cuBLAS 是 NVIDIA 提供的 GPU 加速版 BLAS (Basic Linear Algebra Subprograms) 实现,专门针对 NVIDIA GPU 进行了高度优化。

2025-05-22 22:59:05 348

原创 C++ HTTP框架推荐

所有框架都有活跃的GitHub仓库和社区支持,建议根据具体项目需求评估选择。:高性能异步框架,支持Linux、macOS和Windows。:高性能异步框架,支持HTTP/1.1和HTTP/2。:基于Boost.Asio实现,具有不错的性能表现。:RESTful风格框架,分为核心和REST两部分。:整个框架只有一个头文件,易于集成到项目中。:天然支持RESTful风格API设计。:API设计简洁直观,学习曲线平缓。:Boost官方网络库,底层但强大。:单文件头文件库,极度轻量。基于事件循环的高性能设计。

2025-05-22 21:33:53 1029

原创 FFTW3 多线程使用指南

FFTW3 支持多线程计算,可以显著提高大规模傅里叶变换的性能。以下是完整的多线程使用方法和最佳实践。

2025-05-22 08:00:00 1024

原创 FFTW实现傅里叶变换

FFTW (Fastest Fourier Transform in the West) 是一个高性能的傅里叶变换库,支持:实数/复数的一维/多维变换任意长度的输入(包括质数长度)多线程和SIMD优化。

2025-05-21 08:00:00 555

原创 几款常用的虚拟串口模拟器

需要手动安装驱动(可能需要禁用 Windows 驱动签名)。支持信号线模拟(RTS、DTR等)。支持 Windows 10/11。功能较基础,仅支持简单通信测试。个人使用免费,商业用途需授权。轻量级工具,快速创建串口对。完全开源免费,无功能限制。可创建多个虚拟串口对(如。配置稍复杂,适合开发者。付费版才能创建多对串口。需要注册获取免费许可证。界面友好,简单易用。无需安装,解压即用。

2025-05-20 22:07:23 665

基于改进的S I F T特征的图像双向匹配算法

图像匹配是计算机视觉中许多领域的基础, 特征提取则是图像匹配的基础, 其中不变量特征是一 个重要的理论。S I F t 是最有效的尺度、 旋转、 亮度不变量局部特征之一, 但算法复杂、 计算时间长。分析 了S I F t的计算时间分配, 通过计算关键点的邻域梯度直方图时动态修改采样步长, 大大提高了S Wr的 计算速度。分析了基于S I F t特征的图像匹配算法, 提出了双向匹配算法, 提高了图像匹配的准确率。实 验结果表明所提出的方法是有效的。

2010-07-21

移动应用界面设计的尺寸规范

移动应用界面设计的尺寸规范,包括android界面设计、ios界面设计、ipad界面设计。

2015-08-06

VC编写与调用COM连接点demo

COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上发生某些事件时调用客户端。

2011-07-12

CppUnit测试框架在VC2008中应用

用CppUint进行测试时,一般先以某个函数或者某个类作为测试单元,完成测试;在完成这些基本的测试后,再将引用到测试过的这些函数或者类的函数或者类,作为测试单元完成测试;继续下去,从而完成整个模块甚至是整个系统的测试,从而达到更多清除bug的目的。

2010-07-19

web调用本地应用程序exe例子

web调用本地应用程序

2017-02-16

librtmp获取视频流和音频流

librtmp获取视频流和音频流

2017-01-03

Win10版本的ADO组件包

Win10版本的ADO组件包,文件版本号是10.0.14393.0

2017-07-30

vlc插件和海康NetVideoActiveX23开发包

vlc插件和海康NetVideoActiveX23开发包

2016-06-12

Thrift双向通讯java代码

Thrift双向通讯java代码

2017-08-06

mfc与duilib之间控件相互调用

mfc与duilib之间控件相互调用

2017-06-04

libsamplerate vs2008版本

采样率转换库libsamplerate的vs2008版本

2016-12-27

gsoap实例代码

gsoap实例代码,包含服务器代码和客户端代码,支持多线程。

2016-06-15

Flv文件提取视频流H264

从Flv文件中提取h264视频流

2016-12-16

thrift vc2008版本静态库

thrift对于的vc静态库,vc2008版本编译。

2017-07-06

UIDesigner

Dui界面制作,修改skin文件(*.xml)保存失败问题。

2017-06-02

调试Release程序--Dump文件方式

在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调试release版本了。目前有一些方法可以解决:崩溃地址 + MAP文件;MAP文件;SetUnhandledExceptionFilter + Minidump。

2014-05-15

BlowFish算法

BlowFish算法用来加密64Bit长度的字符串。

2012-02-11

检测一程序服务实例

一个简单的检测某程序(服务器)运行异常自动拉起程序的服务。

2013-02-02

C++ 检测内存泄漏

C++ 检测内存泄漏 检测内存泄漏的方法多种多样,有使用内存泄漏检测工具(比如BoundsChecker)检测内存泄漏;有直接看代码检测代码逻辑,看那些地方是否没有释放内存。

2011-04-27

VC静态库开发与调用

VC静态库开发与调用

2016-09-02

com0com虚拟串口3.0.0.0驱动安装包

com0com虚拟串口3.0.0.0驱动安装包

2025-05-22

CH340, CH340G & CH341 (USB-SERIAL chip) V3.5

CH340串口芯片在Windows中遇到串口打开、关闭后无法再次打开。返回错误码是31(连到系统上的设备没有发挥作用。) 下载对应的V3.5驱动即可解决。 CH340, CH340G & CH341 (USB-SERIAL chip) V3.5 Driver Version = 2019-01-30, 3.5.2019.1

2024-04-16

librtmp x64 vs2015版本库文件

librtmp V2.3 x64版本编译好的lib库文件以及源代码。 librtmp是一个RTMP的开源库,很多地方用它来做推流、拉流。它是RTMPDump开源软件里的一部分。librtmp库实现了rtmp协议的客户端功能,以及少数服务端功能。 优化功能: 1)解决“关闭Nagle加如此小的块大小会导致很多小包并且CPU占用高”问题。 2)增加发送数据超时时间,防止librtmp发送阻塞。 3)AMF_GetProp函数bug修改。

2022-05-09

websocketpp实例代码

WebSocketpp是一个支持websocket功能的库,C++语言,本身不需要搭建什么环境,只要新建的项目引入相关的库就行。本实例代码包含了服务器,CS客户端、web客户端代码。

2018-11-29

LengthFieldBasedFrameDecoder 实例代码

netty中,大多数的协议在协议头中都会携带长度字段,用于标识消息体或则整包消息的长度。LengthFieldBasedFrameDecoder通过指定长度来标识整包消息,这样就可以自动的处理黏包和半包消息,只要传入正确的参数,就可以轻松解决“读半包”的问题。

2017-12-02

微软TTS语音引擎实现文本朗读代码

TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语音输出。TTS语音引擎有微软TTS语音引擎等。微软TTS语音引擎提供了Windows Speech SDK开发包供编程者使用。Windows Speech SDK包含语音合成SS引擎和语音识别SR引擎两种,语音合成引擎用于将文字转换成语音输出,语音识别引擎用于识别语音命令。

2017-11-07

modbus lib vs2008

modbus协议动态库,支持 Linux, Mac OS X, FreeBSD, QNX and Windows

2017-10-08

ice同步调用和异步调用实例代码

Ice 是一种针对客户端和服务器进行通信的面向对象的中间件平台。Ice 为构建面向对象的客户-服务器应用提供了工具、API 和库支持。客户和服务器通信双方可以用不同的编程语言编写,目前最新的版本支持的语言包括C++,.NET,Java,Python,Objective-C,Ruby,PHP and ActionScript。客户和服务器可以分别部署,可以运行在不同的操作系统和机器架构上。本代码为ice同步调用和异步调用实例代码。

2019-04-07

调用OPENCV3.4.4库,在MFC中显示图片

调用OPENCV库,在MFC中显示图片,添加CvvImage类来显示程序图片,我用的是VS2015 + OPENCV3.4.4

2019-03-03

xlslib-2.5.0

xlslib库是用来创建excel文件、libxls是用来读取excel文件的。vc2015编译版本,支持中文字符串。

2018-10-29

thrift web实例代码

thrift web实例代码。使用thrift js时,PRotocol需要使用TJSONPRotocol/TBinaryProtocol协议,Thrift.Protocol对应的是TJSONPRotocol。Transport需要使用TXHRTransport/TWebSocketTransport通道,Thrift.Transport对应的是TXHRTransport。

2018-12-07

ffmpeg视频解码和编码代码实例

ffmpeg视频解码和编码代码实例。decoder目录中的代码是对视频进行解码的实例。encoder目录中的代码是对视频进行编码的实例。

2018-06-12

MessagePack序列化实例代码

MessagePack是一个基于二进制高效的对象序列化Library用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。 支持Python、Ruby、Java、C/C++、Javascript等众多语言。 比Google Protocol Buffers还要快4倍。本代码是在netty中使用MessagePack序列化

2017-12-02

Qt中调用MFC对话框

QT是一个跨平台应用程序和UI开发框架。windows开Qt开发方法:一、Qt Creator+MinGW 或者 Qt Creator+VC++ Compiler二、QT4.8.5 for Windows(VS2015+VS插件)。本实例为VS2015+Qt+Qt插件中开发Qt应用程序同时调用MFC对话框。

2019-03-23

netty 分隔符解码器使用实例

Netty框架中LineBasedFrameDecoder分隔符解码器解决考虑TCP的粘包与拆包问题。依次编译bytebuf中的可读字符,判断看是否有“\n”或者“\r\n”,如果有,就以此位置为结束位置,从可读索引到结束位置区间的字节就组成了一行。它是以换行符为结束标志的解码器,支持携带结束符或者不携带结束符两种解码方式,同时支持单行的最大长度。如果连续读取到最大长度后,仍然没有发现换行符,就会抛出异常,同时忽略掉之前读到的异常码流。

2017-12-02

pcm与g726相互转换

pcm与g726音频之间相互转换。选择ffmpeg g726编码器进行解码。ffmpeg g726解码器包括:AV_CODEC_ID_ADPCM_G726、AV_CODEC_ID_ADPCM_G726LE。如果海思g726码流类型为asf时,请选择AV_CODEC_ID_ADPCM_G726解码器类型;如果海思g726码流类型为RFC3551标准时,请选择AV_CODEC_ID_ADPCM_G726LE解码器类型。

2017-11-02

Modbus C++实例

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus C++实例代码是基于VC编写的代码,包含了线程操作。

2017-09-17

Hibernate注解配置表映射实例

Hibernate注解配置表映射实例

2017-08-12

环型缓冲区C++代码

环型缓冲区C++代码

2017-08-17

Hibernate XML配置表映射实例

Hibernate XML配置表映射实例

2017-08-12

空空如也

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

TA关注的人

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