自定义博客皮肤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的专栏

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

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

原创 wavelib库 图像处理

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

2025-05-31 09:31:28 671

原创 PCL 渲染显示

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

2025-05-30 13:19:25 999

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

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

2025-05-30 08:00:00 197

原创 PCL 特征提取与匹配

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

2025-05-29 12:56:45 427

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

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

2025-05-29 08:00:00 330

原创 Wavelib库编译

假设你的程序。

2025-05-28 08:15:00 900

原创 Wavelib入门

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

2025-05-27 08:00:00 656

原创 VTK渲染过程

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

2025-05-26 12:53:33 925

原创 小波变换概念

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

2025-05-26 08:00:00 449

原创 OSG Earth 入门

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

2025-05-25 08:00:00 836

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

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

2025-05-24 23:19:24 987

原创 FFT Shift

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

2025-05-24 18:08:04 901

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

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

2025-05-24 00:00:21 418

原创 FFTW图像处理入门

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

2025-05-23 08:00:00 482

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

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

2025-05-22 23:52:56 1464

原创 Intel oneAPI对OpenCL 的支持

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

2025-05-22 23:25:58 447

原创 Intel oneMKL 入门

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

2025-05-22 23:19:50 431

原创 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 439

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

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

2025-05-22 23:09:12 894

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

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

2025-05-22 23:01:34 715

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

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

2025-05-22 22:59:05 329

原创 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 1006

原创 FFTW3 多线程使用指南

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

2025-05-22 08:00:00 990

原创 FFTW实现傅里叶变换

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

2025-05-21 08:00:00 532

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

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

2025-05-20 22:07:23 589

原创 spdlog入门

spdlog操作日志

2025-05-20 08:00:00 1551

原创 使用 QT Creator 进行 OpenCL C++ 开发

QT Creator 是一个强大的跨平台 IDE,非常适合开发包含 OpenCL 加速的应用程序。以下是配置和使用 QT Creator 进行 OpenCL C++ 开发的完整指南。

2025-05-19 08:00:00 1201

原创 CUDA 纹理入门

CUDA纹理是NVIDIA GPU提供的一种特殊内存访问机制,它允许高效地访问和过滤结构化数据。纹理内存最初是为图形渲染设计的,但在通用计算(GPGPU)中也很有用。

2025-05-18 15:54:23 758

原创 NDRange(OpenCL)和 Grid/Block(CUDA)对比

在 OpenCL 和 CUDA 中,(OpenCL)和(CUDA)都是用于定义并行执行层次的抽象概念,但它们的术语和具体实现略有不同。

2025-05-18 15:06:09 574

原创 Eigen与OpenCV矩阵操作全面对比:最大值、最小值、平均值

对于纯粹的数值计算,Eigen通常更简洁高效;对于图像处理任务,OpenCV提供更完整的解决方案。在实际项目中,两者可以互补使用。OpenCV的位置返回是Point结构,Eigen是分离的行列索引。可以同时使用两个库,用Eigen做数值计算,OpenCV做图像处理。OpenCV一次调用可同时获取两个极值和位置。OpenCV的mean()自动处理多通道数据。Eigen的mean()只适用于单通道矩阵。Eigen需要分别调用两个函数获取极值。对于多通道数据,Eigen需要额外处理。处理图像数据(特别是多通道)

2025-05-18 13:55:27 688

原创 OpenCL C C++核心对象与属性对比

C++:提供STL风格的便捷函数(如。C:通过返回错误码,需要手动检查。C++:RAII自动管理资源。C:需要手动处理指针和大小。C:需要手动释放资源 (C:需要手动实现类似功能。C++:类型安全的封装。C++:使用异常机制。

2025-05-18 12:22:16 433

原创 OpenCL C++图像纹理处理

OpenCL 提供了强大的图像和纹理处理能力,特别适合计算机视觉、图像处理和计算机图形学应用。以下是使用OpenCL C++进行图像纹理处理的详细介绍。

2025-05-18 08:15:00 341

原创 OpenCL C++ 常见属性与函数

Device 对象代表 OpenCL 可用的计算设备,了解设备属性和能力对于优化 OpenCL 程序性能至关重要。Platform 对象代表 OpenCL 实现平台,通常对应不同的硬件供应商(如 NVIDIA、AMD、Intel 等)。Context 是 OpenCL 资源管理的核心对象,负责内存、命令队列等资源的生命周期管理。合理选择上下文创建方式和属性对程序性能和功能有重要影响。命令队列是OpenCL程序性能的关键因素,合理选择队列类型和适当使用事件同步可以显著提高性能。// 2. 设置内核参数。

2025-05-17 13:55:15 299

原创 OpenCL C++ 入门

OpenCL (Open Computing Language) 是一个用于并行编程的开放标准,特别适合异构系统(如CPU+GPU)上的计算。以下是OpenCL C++编程的入门介绍。

2025-05-17 08:15:00 1027

原创 OpenCL C 图像纹理处理

OpenCL 提供了强大的图像和纹理处理功能,特别适合 GPU 加速的图像处理任务。本指南将详细介绍 OpenCL C 中的图像和纹理操作。

2025-05-16 08:00:00 480

原创 OpenCL C 常见属性与函数

边框颜色(Border Color):边框颜色由 CL_SAMPLER_BORDER_COLOR 属性定义,用于 CL_ADDRESS_CLAMP 寻址模式。管道(Pipe)是OpenCL 2.0引入的特性,主要用于生产者-消费者模式的数据传输,需要设备支持OpenCL 2.0或更高版本。合理设置上下文属性对性能和功能有重要影响。对象是OpenCL中内存管理的核心,合理选择内存类型和标志对性能有重大影响。寻址模式(Addressing Mode):寻址模式决定了当采样坐标超出图像边界时的处理方式。

2025-05-15 08:00:00 359

原创 OpenGL顶点和片段着色器在不同设备上的应用

OpenGL 着色器(Shader)是图形渲染管线的核心编程单元,其中顶点着色器(Vertex Shader)和片段着色器(Fragment Shader)是最基本和常用的两种。它们在桌面GPU、移动设备和嵌入式设备上的实现和应用有所不同。

2025-05-14 08:00:00 527

原创 ShaderEffect效率优化指南

ShaderEffect 是 Qt 中用于实现自定义着色器效果的功能强大的类,但不当使用可能导致性能问题。

2025-05-13 12:50:16 824 1

原创 QML LinearGradient 入门

LinearGradient 是 QML 中用于创建线性渐变效果的元素,它可以为矩形、文本或其他可视元素添加平滑的颜色过渡效果。

2025-05-13 08:00:00 244

原创 信号处理中用于减少频谱泄漏的常见窗函数(矩形窗、汉宁窗、汉明窗、布莱克曼窗)

四种常见窗函数(矩形窗、汉宁窗、汉明窗、布莱克曼窗)的作用、公式及C++代码实现,适用于信号处理场景(如FFT、滤波器设计等)。

2025-05-12 08:00:00 598

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

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

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

2019-04-07

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

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

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

2019-03-03

thrift web实例代码

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

2018-12-07

websocketpp实例代码

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

2018-11-29

xlslib-2.5.0

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

2018-10-29

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

LengthFieldBasedFrameDecoder 实例代码

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

2017-12-02

netty 分隔符解码器使用实例

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

2017-12-02

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

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

2017-11-07

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 lib vs2008

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

2017-10-08

Modbus C++实例

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

2017-09-17

环型缓冲区C++代码

环型缓冲区C++代码

2017-08-17

Hibernate注解配置表映射实例

Hibernate注解配置表映射实例

2017-08-12

Hibernate XML配置表映射实例

Hibernate XML配置表映射实例

2017-08-12

Thrift双向通讯java代码

Thrift双向通讯java代码

2017-08-06

Win10版本的ADO组件包

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

2017-07-30

thrift vc2008版本静态库

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

2017-07-06

mfc与duilib之间控件相互调用

mfc与duilib之间控件相互调用

2017-06-04

UIDesigner

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

2017-06-02

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

web调用本地应用程序

2017-02-16

librtmp获取视频流和音频流

librtmp获取视频流和音频流

2017-01-03

libsamplerate vs2008版本

采样率转换库libsamplerate的vs2008版本

2016-12-27

Flv文件提取视频流H264

从Flv文件中提取h264视频流

2016-12-16

VC静态库开发与调用

VC静态库开发与调用

2016-09-02

gsoap实例代码

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

2016-06-15

vlc插件和海康NetVideoActiveX23开发包

vlc插件和海康NetVideoActiveX23开发包

2016-06-12

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

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

2015-08-06

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

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

2014-05-15

检测一程序服务实例

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

2013-02-02

BlowFish算法

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

2012-02-11

VC编写与调用COM连接点demo

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

2011-07-12

C++ 检测内存泄漏

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

2011-04-27

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

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

2010-07-21

CppUnit测试框架在VC2008中应用

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

2010-07-19

空空如也

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

TA关注的人

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