自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(330)
  • 资源 (22)
  • 收藏
  • 关注

原创 【总】机器学习博文导航

4.SVM支持向量机进行分类与回归操作。6.数据降维:投影及流形学习降维方法。5.集成学习:决策树与随机森林。

2022-08-19 05:45:21 219

原创 【FPGA】优化设计指南(二):性能指标

需要注意的是,Block RAM、UltraRAM和DSP48三者资源利用率都不能超过80%,若超过了80%,则要保证三者平均利用率低于80%。与传统的Block RAM相比,UltraRAM具有更高的存储密度和更低的时延,这使得它在某些应用中能够提供更好的性能和效率。它是Xilinx FPGA架构中的一部分,与传统的Block RAM(BRAM)不同,UltraRAM提供了更高容量的存储和更灵活的配置选项。输入到输出的延迟通常用时钟周期个数来表示,称为Latency,该指标也反映了设计的流水级数。

2024-04-22 01:42:47 495

原创 【FPGA】优化设计指南(一):设计原则

面积和速度是对立统一的。因此,在时钟网络中,MMCM 经常用于生成不同时钟域内的时钟信号,确保这些信号之间具有明确的相位关系,以保证电路的正确功能和稳定性。毛刺通常是短暂的、不稳定的信号脉冲,可能会对电路的正常功能造成影响,特别是在时序要求严格的系统中,如数字电路中的时钟信号处理。在同步设计中,时钟信号的控制可以帮助过滤掉这些毛刺,因为触发器只在时钟的有效沿触发,而不会受到毛刺的影响。在FPGA中,"乒乓操作"通常指的是在时序逻辑中的一种特定操作,用于在两个时钟周期之间交替执行某个操作或改变某个状态。

2024-04-22 01:20:10 1179 1

原创 【DeepStream】基于英伟达DeepStream框架进行算法开发(三):Gst-nvinfer模块介绍

该插件接受来自上游的批处理的 NV12/RGBA 缓冲区。NvDsBatchMeta 结构必须已附加到 Gst 缓冲区。底层库(libnvds_infer)可处理任何 INT8 RGB、BGR 或 GRAY 数据,其尺寸为网络高度和网络宽度。Gst-nvinfer 插件根据网络要求对输入帧执行变换(格式转换和缩放),并将转换后的数据传递给低级库。底层库对转换后的帧进行预处理(执行归一化和均值减法),生成最终的 float RGB/BGR/GRAY 平面数据,然后传递给 TensorRT 引擎进行推理。

2024-02-28 18:52:16 1002

原创 【DeepStream】基于英伟达DeepStream框架进行算法开发(二):推理基础流程

当需要将一个元素连接到另一个元素时,可以使用 get_request_pad() 方法从目标元素中请求一个 pad,然后将这个 pad 与其他元素的 pad 进行连接,实现元素之间的数据传输。这行代码将 caps 元素的输出 pad 和之前获取的 streammux 元素的请求 pad 进行连接,即将属性设置元素的输出与合流器元素的输入连接起来,使视频流能够正确传递到合流器中的指定输入通道。这行代码从 caps 元素的 “src” pad 中获取一个静态 pad,并将其存储在 srcpad 变量中。

2024-02-27 14:20:10 987

原创 【vscode】vscode在离线环境下配置远程服务器客户端

当需要在离线环境下配置远程服务器客户端时,Visual Studio Code (VS Code) 是一个优秀的工具选择。通过配置远程开发插件,可以在本地使用 VS Code 编辑远程服务器上的文件,提高开发效率和灵活性。在本博客中,我们将深入介绍如何在离线环境下配置 VS Code 远程开发环境,帮助开发者更好地利用这一功能进行远程开发工作。

2024-02-27 13:45:22 792

原创 【DeepStream】基于英伟达DeepStream框架进行算法开发(一):GStreamer基础

在当今快速发展的人工智能和计算机视觉领域,英伟达的DeepStream框架提供了强大的工具和功能,帮助开发者快速部署和优化实时视频分析应用。本博客将重点介绍基于英伟达DeepStream框架进行算法开发的方法和技巧,包括如何利用DeepStream框架构建高效的算法模型、实现实时视频流处理和应用优化等内容。通过本博客的学习,读者将能够掌握在DeepStream框架下进行算法开发的关键技能,为自己的视频分析项目提供更加稳定和高效的解决方案。

2024-02-27 09:50:25 546

原创 【redis】redis系统实现发布订阅的标准模板

Redis发布订阅功能是Redis的一种消息传递模式,允许多个客户端之间通过消息通道进行实时的消息传递。在发布订阅模式下,消息的发送者被称为发布者(publisher),而接收消息的客户端被称为订阅者(subscriber)。在Redis中,发布者可以将消息发布到一个或多个频道(channel),而订阅者可以选择订阅感兴趣的频道以接收相关的消息。同时,一个订阅者也可以订阅多个频道。当有消息发布到已被订阅的频道时,所有订阅该频道的客户端都能够接收并处理这些消息。

2023-12-19 20:30:00 505

原创 【向量数据库】相似向量检索Faiss数据库的安装及余弦相似度计算(python)

在使用 Faiss 库进行人脸余弦相似度计算的应用中,通常会遵循以下步骤:特征提取:首先,需要使用人脸识别模型对人脸图像进行特征提取。这些特征通常是高维度的向量,代表了每张人脸图像的抽象特征。构建 Faiss 索引:将提取出的人脸特征向量构建成 Faiss 可以处理的索引结构。通常会选择使用内积(dot product)作为相似度度量方式,因为 Faiss 默认使用内积进行近似的余弦相似度计算。

2023-12-18 21:45:00 1442

原创 【redis】redis使用get及set功能,及发布订阅

【代码】【redis】redis使用get及set功能,及发布订阅。

2023-12-14 10:33:50 169

原创 【DQN】基于pytorch的强化学习算法Demo

DQN(Deep Q-Network)是一种基于深度神经网络的强化学习算法,于2013年由DeepMind提出。它的目标是解决具有离散动作空间的强化学习问题,并在多个任务中取得了令人瞩目的表现。DQN的核心思想是使用深度神经网络来逼近状态-动作值函数(Q函数),将当前状态作为输入,输出每个可能动作的Q值估计。通过不断迭代和更新网络参数,DQN能够逐步学习到最优的Q函数,并根据Q值选择具有最大潜在回报的动作。DQN的训练过程中采用了两个关键技术:经验回放和目标网络。

2023-11-24 08:59:33 550 1

原创 【C++】linux下的gdb程序调试

在 Linux 环境下,我们可以使用 GDB (GNU Debugger) 工具来帮助我们进行程序调试。以上是在 Linux 环境下使用 GDB 调试 C++ 程序的基本步骤和常用命令。通过设置断点,我们可以在程序执行到特定位置时停下来,以便查看程序状态。命令即可启动 GDB 调试器,并加载你的程序。此外,还有其他许多 GDB 命令可用以帮助进行调试和查看程序的状态,可以使用。在进行调试之前,我们需要先用调试符号编译你的 C++ 程序。执行后,程序将开始运行,直到遇到第一个断点或程序结束。

2023-11-21 18:26:00 339

原创 【SOPHON】算能盒子SE-16中c++版本pipeline的环境配置

arm SoC平台,内部已经集成了相应的libsophon、sophon-opencv和sophon-ffmpeg运行库包,位于下。通常在x86主机上交叉编译程序,使之能够在arm SoC平台运行。您需要在x86主机上使用SOPHON SDK搭建交叉编译环境,将程序所依赖的头文件和库文件打包至soc-sdk目录中。

2023-11-02 17:54:42 194

原创 【SOPHON】算能盒子SE-16的C++模型转换

本文以 arcface 为例, 介绍如何编译迁移一个onnx模型至TPU平台运行。有疑问具体可参考。

2023-10-27 17:57:36 252

原创 【optuna】将实验结果保存为excel

Optuna 是一个用于自动超参数优化的开源 Python 库。它提供了一个简单且灵活的接口,帮助你在机器学习和深度学习任务中优化算法的超参数。Optuna 的设计目标是使超参数优化过程更加高效和易用。它采用了一种基于序列化和并行化的策略,允许用户定义自己的目标函数,并在超参数搜索空间中动态地探索参数组合,以找到最佳的超参数配置。Optuna 的核心概念是 “Study” 和 “Trial”:Study(研究)是一个优化过程的最高级别实体。

2023-10-26 19:30:00 273

原创 【SOPHON】算能盒子SE-16的配套x86交叉编译环境搭建

tpu-mlir 为TPU编译器工程提供一套完整的工具链,可以将不同框架下预训练的神经网络,转化为可以在算能TPU上高效运行的二进制文件BModel。目前直接支持的框架包括tflite、onnx和Caffe。libsophon 提供BMCV、BMRuntime、BMLib等库,用来驱动VPP、TPU等硬件,完成图像处理、张量运算、模型推理等操作,供用户进行深度学习应用开发。

2023-10-19 13:49:23 494

原创 【python】ThreadPoolExecutor线程池

在构造函数__init__中,我们传入了两个参数max_workers和max_pending_tasks,分别代表线程池的最大工作线程数和最大挂起任务数。我们还初始化了executor成员变量为一个ThreadPoolExecutor对象,并设置了max_workers为传入的max_workers值,pending_tasks初始化为0。否则,它会使用executor.submit方法来提交任务,并调用_task_wrapper方法包装任务,最后增加挂起任务数并返回任务的Future对象。

2023-10-14 17:56:27 264

原创 【向量数据库】相似向量检索Faiss数据库的安装及余弦相似度计算(C++)

Faiss 是一个强大的向量相似度搜索库,具有以下优点:高效的搜索性能:Faiss 在处理大规模向量数据时表现出色。它利用了高度优化的索引结构和近似搜索算法,可以快速地执行最近邻搜索和相似度匹配,具有很低的查询延迟。高度可扩展:Faiss 提供了多种索引结构和算法的选择,包括 k-d树、IVF(Inverted File System)和 PQ(Product Quantization)等。这些索引结构能够轻松应对大规模的向量数据集,并支持高效的并行计算和分布式处理。

2023-09-07 23:45:00 1197

原创 【高性能计算】opencl语法及相关概念(五):图像的仿射变换缩放

要使用仿射变换完成图像等宽高比缩放,可以按照以下步骤进行操作:定义仿射变换矩阵:首先,定义一个仿射变换矩阵,用于描述缩放操作。该矩阵是一个2x3的矩阵,包含平移、缩放和旋转的参数。对于缩放而言,我们只需要调整矩阵中的缩放参数。其中,scale_x和scale_y分别表示在 x 和 y 方向上的缩放因子。构建仿射变换矩阵:使用上述定义的缩放因子,将其填充到仿射变换矩阵的相应位置。应用仿射变换:对于每个图像像素,根据仿射变换矩阵的逆矩阵将其映射到原始图像中的位置。

2023-09-04 23:45:00 203

原创 【高性能计算】opencl语法及相关概念(四):结合opencv进行图像高斯模糊处理

高斯模糊是一种常用的图像处理技术,用于减少图像中的噪点和细节,并实现图像的平滑效果。它是基于高斯函数的卷积操作,通过对每个像素周围的邻域像素进行加权平均来实现模糊效果。具体而言,高斯模糊通过在图像上滑动一个卷积核,将卷积核与输入图像的对应像素进行一一相乘,并将结果相加,从而产生输出图像的每个像素值。这个卷积核是一个二维高斯函数,它的形状决定了模糊的程度。在高斯函数中,离中心像素越远的像素会被赋予更小的权重,从而降低了离中心像素的贡献,实现模糊的效果。通过调整高斯核的大小和标准差参数,可以控制模糊的程度。

2023-08-31 23:30:00 787

原创 【高性能计算】opencl语法及相关概念(二):索引,队列,核函数

设备(device):宿主机使用的 OpenCL设备集合。内核 (kernel):在 OpenCL 设备上运行的 OpenCL 函数。程序对象 (program object):实现内核的程序源代码和可执行文件。内存对象(memory object):内存中对OpenCL设备可见的组对象,包含可以由内核实例处理的值。

2023-08-30 23:30:00 681

原创 【高性能计算】opencl语法及相关概念(三)事件,内存

当谈到OpenCL中的事件时,它们代表了执行的各个阶段或操作的状态信息。通过使用事件,您可以跟踪和管理内核执行以及内存操作的进度和顺序。以下是与OpenCL事件相关的关键概念:创建事件:您可以使用或函数手动创建事件,或者使用OpenCL API执行其他操作时自动创建事件。内核执行事件:当您将内核提交到命令队列进行执行时,会返回一个事件对象,您可以利用该事件对象来跟踪内核执行的状态。等待事件:可以使用或函数来阻塞程序直到指定的事件完成。这对于确保内核执行顺序以及依赖关系非常重要。

2023-08-30 23:30:00 429

原创 【高性能计算】opencl语法及相关概念(一):工作流程,实例

在上述代码中,get_global_id(0) 是在内核函数 vectorAdd 中使用的,表示获取当前工作项在全局范围的第一个维度(维度编号为0)上的索引。例如,如果在执行内核函数时将全局执行范围设置为 128,那么在第一个维度上,工作项的索引值将从 0 到 127,总共有 128 个唯一的索引值。例如,如果在执行内核函数时使用了 128 个工作项并且当前工作项的全局索引是 10,那么 get_global_id(0) 会返回 10,表示当前工作项在全局范围的第一个维度上的索引是 10。

2023-08-28 23:30:00 379

原创 【高性能计算】opencl安装及相关概念

安装特定硬件厂商提供的OpenCL SDK:如果您的系统不提供默认的OpenCL运行时和驱动程序,或者您希望使用特定硬件厂商提供的最新版本运行时和驱动程序,那么可以安装相应厂商提供的OpenCL SDK。虽然特定硬件厂商提供的OpenCL SDK可能包含额外的工具和优化,但OpenCL的核心标准和函数接口是跨平台的,并且可以在没有特定SDK的情况下进行开发和编译。总而言之,异构计算利用不同类型的计算资源的特点和优势,通过合理分配和协同使用这些资源,实现更高的计算性能、能源效率和灵活性。

2023-08-24 23:15:00 1364

原创 【架构】探索计算机处理器的世界:ARM和x86架构解析及指令集

通过本文的介绍,我们了解了ARM和x86这两个重要的处理器架构。它们在不同的领域发挥着重要的作用,驱动着计算机技术的不断进步。在选择合适的处理器架构时,我们需要考虑应用需求、性能要求和生态系统支持等因素。祝愿读者在处理器的世界里,找到最适合自己的架构!

2023-08-24 22:00:00 1737

原创 【OpenMp】openmp库的介绍及安装

OpenMP(Open Multi-Processing)是一种并行编程框架,用于在共享内存系统中实现并行计算。它是GCC编译器的一部分,提供了一组指令和编译器指导,帮助程序员实现程序的并行化。OpenMP的目标是简化并行编程,提高程序的执行效率。

2023-08-23 23:30:00 1719 1

原创 【OpenMp】openmp库的基本语法

动态调度模式是先到先得的方式进行任务分配,不用size参数的时候,先把任务干完的线程先取下一个任务,以此类推,而不是一开始就分配固定的任务数。总之,reduction指令是OpenMP中用于对并行循环中的变量进行归约操作的指令,能够自动将每个线程的局部变量的结果累加到一个全局变量中。在并行循环中,每个线程都会拥有自己的sum的局部副本,并在循环的迭代过程中进行累加操作。当循环结束后,reduction指令将会将每个线程的sum的局部副本的结果相加,并将最终的总和存储到全局的sum变量中。

2023-08-23 17:58:56 773

原创 【ffmpeg】基于需要使用videocapture的opencv编译配置(C++)

opencv使用videocapture读取视频流时,需要借助底层的ffmpeg库。如果不能正确编译,会报错,现记录正确编译配置方法。

2023-08-22 18:01:51 917

原创 【判别方法】模糊图像的拉普拉斯判别,C++及python版本

通过判断一组合格的图像,利用下列代码,得到所有图像的模糊值,取其中最小值作为模糊的阈值下限,在实际应用中,一旦超过该值,则认为图像清晰,小于该值,则认定图像模糊。

2023-08-22 17:42:49 376

原创 【网络】windows电脑配置host

本地开发和测试:在开发过程中,可以使用hosts文件将开发环境中的域名映射到本地的IP地址,以便在本地进行开发和测试。屏蔽广告和恶意网站:通过配置hosts文件,可以将一些已知的广告、恶意或不受欢迎的网站映射到一个无效的IP地址,从而屏蔽它们的访问。DNS故障或绕过:在某些情况下,可能需要绕过DNS解析,直接将域名映射到指定的IP地址,以解决DNS故障或访问特定的服务器。需要注意的是,配置hosts文件需要谨慎操作,确保您知道自己在做什么,并且备份原始的hosts文件以防万一。

2023-08-02 16:37:55 6697

原创 【Deepsort】C++版本Deepsort编译(依赖opencv,eigen3)

广泛的功能:Eigen3支持多种线性代数运算,包括向量和矩阵的基本运算、线性方程组的求解、特征值和特征向量的计算、矩阵分解(如LU分解、QR分解等)、广义特征值问题的求解等。Eigen3是一个C++模板库,提供了许多用于线性代数运算的功能,如向量、矩阵、矩阵运算、线性方程组求解等。它的API设计简洁明了,提供了丰富的运算符重载和友好的语法,使得代码编写更加简单和可读。高性能:Eigen3使用了优化的算法和技术,具有出色的运行速度和高效的内存使用。它的源代码可在GitHub上获得,方便用户进行定制和扩展。

2023-08-01 20:10:22 1421 2

原创 【OnnxRuntime】在linux下编译并安装C++版本的onnx-runtime

通过按照上述步骤,您应该能够在Linux上成功安装ONNX Runtime。请注意,安装过程中可能需要根据您的系统和需求进行适当的调整。// 首先创建一个conda环境,因为./build.sh实际上调用的是./tools/cl_build/build.py。这将使用所有可用的CPU核心进行编译。如果希望使用指定数量的核心,可以将$(nproc)替换为所需的核心数量。安装CMake:可以通过包管理器(如apt、yum等)安装CMake。安装C++编译器:确保系统中已安装C++编译器,如GCC或Clang。

2023-07-31 20:22:38 4748 4

原创 【Opencv】视频跟踪算法KCF

KCF(Kernelized Correlation Filter)是一种基于核相关滤波器的目标跟踪算法。它通过学习目标的外观特征和使用核相关滤波器进行目标定位。KCF属于传统算法的单目标跟踪器。下面是对KCF跟踪算法的介绍:目标特征提取:KCF算法使用HOG(Histogram of Oriented Gradients)特征来表示目标的外观。HOG特征是一种局部纹理特征,通过计算图像中每个像素点周围的梯度方向直方图来描述目标的纹理信息。核相关滤波器:KCF算法使用核相关滤波器来进行目标定位。

2023-07-28 13:26:52 2884 13

原创 【AIBOX】TF卡镜像烧录技术详解

本文将详细介绍TF卡镜像烧录的技术过程,包括备份TF卡为镜像文件和将镜像文件恢复到新的TF卡。TF卡镜像烧录是一种常用的操作,可以用于备份和复制TF卡上的数据,方便用户在不同设备之间进行数据迁移或备份。

2023-07-28 09:57:53 800

原创 【NCNN】arm架构cpu的硬件加速代码样例

NCNN(Nihui’s CNN)是一个轻量级、高性能的深度学习推理框架,由腾讯优图实验室的大神Nihui开发。该框架在移动端应用和嵌入式设备上实现了高效的深度学习模型推理,具有较低的内存占用和高度优化的计算性能。

2023-07-25 15:22:07 888

原创 【NCNN】NCNN中Mat的crop与resize方法

这段代码是为了将一个ncnn::Mat对象out中的像素数据从一个具有3个通道的图像数据im中提取出来,并实现贴图的效果。通过以上操作,可以将图像数据im中指定位置的像素数据提取出来,并填充到ncnn::Mat对象out中,从而实现贴图的效果。通过以上操作,可以将输入图像im中指定位置的像素数据,经过双线性插值的方式,缩放并存储到输出图像outim的指定位置。这段代码实现了将输入图像im中指定位置的像素数据,经过双线性插值的方式,缩放并存储到输出图像outim的指定位置。

2023-07-24 18:24:14 586

原创 【NCNN】NCNN中Mat与CV中Mat的使用区别及相互转换方法

功能和用途:ncnn::Mat主要用于在ncnn中进行模型推理和图像处理,提供了与ncnn库相关的功能和接口。总结来说,ncnn::Mat和cv::Mat在用途和功能上有一些差异,但它们都用于处理图像和矩阵数据,并提供了类似的API,以便于访问和操作这些数据。数据存储方式:ncnn::Mat使用行优先存储方式,而cv::Mat使用列优先存储方式。ncnn::Mat和cv::Mat在某些方面是相似的,但也存在一些区别。ncnn::Mat和cv::Mat都是用于表示图像或矩阵数据的类。

2023-07-21 20:24:38 1249

原创 【NCNN】腾讯ncnn推理框架的简介及安装

ncnn(Ncnn Convolutional Neural Network)是一个轻量级的高性能深度学习框架,由腾讯公司开发。它专门为移动设备和嵌入式设备优化,旨在提供高效的推理性能和低内存占用。以下是ncnn的一些主要特点和优势:轻量级和高性能:ncnn被设计为轻量级框架,具有高效的推理性能。它使用优化的计算图和内存管理策略,以最大程度地减少内存占用和计算开销。跨平台支持:ncnn支持多种操作系统和硬件平台,包括Android、iOS、Linux、Windows等。

2023-07-20 19:07:49 5638 5

原创 【CV】常见的损失函数及应用举例:交叉熵、对比、余弦、Dice、Focal Loss

损失函数的作用是衡量模型预测值与真实值之间的差异,从而评估模型的性能,并通过优化算法(如梯度下降)来调整模型参数,使得损失函数的值最小化,进而提高模型的预测准确性。具体来说,损失函数通常用于监督学习中,给定样本的特征和标签,模型根据特征预测标签,并将预测值与真实值进行比较,计算出损失值。优化过程就是在不断地调整模型参数,使得损失值越来越小。因此,损失函数是优化算法的重要组成部分,它决定了模型优化的方向和速度。

2023-06-25 18:55:32 3696

原创 【CV】从分类到回归:常见算法评价指标,如ROC,MAP等

在ROC曲线中,点(0,0)表示将所有样本都预测为负样本,点(1,1)表示将所有样本都预测为正样本,曲线越靠近左上角,表示模型的性能越好。与算术平均数、几何平均数和中位数等常见的平均数不同,调和平均数更加关注小数值,因为任何一个小于1的数的倒数都大于1,所以当一组数据中有个别数较小的时候,调和平均数会受到这些小数的影响而偏小。P-R曲线的优点是对于正样本的分类能力有更好的体现,对于每张测试图片,需要计算出该图片中每个物体类别的平均精度(AP),然后将所有物体类别的平均精度的平均值作为该图片的平均精度。

2023-06-25 15:37:57 1018 1

SOPHON算能盒子SE-16中c++版本pipeline的环境配置,中已经编译完成的算能安装sdk环境

适用于交叉编译

2023-11-02

SOPHON算能盒子SE-16的配套x86交叉编译环境搭建

算能的交叉编译所需包,主要用于构建一个x86的交叉编译环境。 交叉编译是指在一台计算机上使用某种编译器和工具链,将针对一种特定处理器架构(目标架构)的程序或软件,在不同的处理器架构(主机架构)上进行编译和构建的过程。 具体过程详见对应博文。

2023-10-19

cmake工程标准编译框架

这个CMake工程标准编译框架是一个用于管理C++项目的自动化构建系统,它包括一个主的CMakeLists.txt文件和一个辅助的CMakeLists.txt文件,通过使用Bash脚本来协调它们的工作。主CMakeLists.txt文件定义了项目的源代码、编译器标志、编译目标等信息,而辅助的CMakeLists.txt文件用于管理项目的第三方依赖项。 版本号管理是这个CMake工程标准编译框架的一个重要特性。它允许开发者使用标准的语义化版本号规则,如主版本号、次版本号和修订版本号,来管理项目的版本。这个框架还提供了一组方便的命令来获取和设置版本号,以及在构建过程中将版本号嵌入到生成的二进制文件中。 该框架还支持使用不同的编译器对不同的文件进行编译,以达到优化代码的目的。开发者可以在主CMakeLists.txt文件中定义编译器标志来控制编译器的行为,也可以在辅助的CMakeLists.txt文件中指定使用哪个编译器来编译特定的文件。

2023-05-05

Inno Setup:windows下安装程序制作软件,及打包模板

Inno Setup是一款免费的安装程序制作工具,用于创建Windows平台下的安装程序。它具有易于使用、功能强大、灵活性高等特点,是Windows安装程序制作的首选工具之一。 Inno Setup使用Pascal脚本语言编写,因此对于Pascal程序员来说非常友好。同时,它还提供了一个易于使用的向导式界面,使得即使是非程序员也能够轻松地创建安装程序。 Inno Setup支持多种安装程序功能,如选择安装路径、创建快捷方式、注册表项、文件关联、安装服务等。它还支持自定义安装程序界面、图标、说明文本等元素,以及多语言支持。 Inno Setup的安装程序也具有很高的兼容性,能够在Windows 95/98/Me/NT/2000/XP/Vista/7/8/10等Windows操作系统中运行。同时,它还支持多种安装方式,如标准安装、静默安装、自解压缩安装等。 除此之外,Inno Setup还提供了众多的插件,如增强的脚本编写工具、自动更新插件、加密插件、安装程序压缩插件等,使得用户可以根据自己的实际需求选择安装。 总的来说,Inno Setup是一款非常优秀的安装程序制作工具.。

2023-03-20

win10 opencv python 显示中文

def cv2AddChineseText(img, text, position, textColor=(0, 255, 0), textSize=30): if (isinstance(img, np.ndarray)): # 判断是否OpenCV图片类型 img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 创建一个可以在给定图像上绘图的对象 draw = ImageDraw.Draw(img) # 字体的格式 fontStyle = ImageFont.truetype( r"D:\其它\tensorRT_Pro-main\example-python\simsun.ttc", textSize, encoding="utf-8") # 绘制文本 draw.text(position, text, textColor, font=fontStyle) # 转换回OpenCV格式 return cv2.cv

2023-02-06

5点和68点人脸识别模型shape-predictor-68-face-landmarks.dat及使用说明

shape_predictor_68_face_landmarks.dat 是一个预训练的人脸特征点检测模型,用于在人脸图像中定位和识别 68 个关键点。这些关键点涵盖了人脸的各个部位,如眼睛、鼻子、嘴巴、脸颊等。该模型基于一种机器学习技术,即对许多人脸图像进行训练,以学习人脸关键点的特征。使用该模型,可以在计算机视觉应用中自动定位和识别人脸关键点,从而实现人脸识别、人脸对齐、表情识别等功能。可以在 Python、C++ 等多种语言中使用。 在使用说明中,给出了c++版及python版本的调用说明代码: # 加载人脸关键点检测模型 predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat") # 加载人脸检测器 detector = dlib.get_frontal_face_detector()

2023-01-31

lbpcascade-frontalface.xml与 haarcascade-eye-tree-eyeglasses.xml

lbpcascade_frontalface.xml 和 haarcascade_eye_tree_eyeglasses.xml 是 OpenCV 中的人脸和眼睛识别分类器。lbpcascade_frontalface.xml 是基于 Local Binary Patterns (LBP) 算法的人脸识别分类器,可以用来检测人脸。haarcascade_eye_tree_eyeglasses.xml 是基于 Haar 特征的眼睛识别分类器,可以用来检测带有眼镜的眼睛。

2023-01-28

多类模型转onnx工具

1 caffe转onnx 命令:python model_convert.py --model_path ./caffe_model --model_type caffe --output ./output.onnx 参数说明:model_path:caffe模型所在的文件夹,文件夹里需要有对应的.caffemodel文件和.prototxt文件 model_type:模型类型,此处固定为caffe output:输出onnx模型的文件路径 2 tensorflow(h5)转onnx 命令:python model_convert.py --model_path ./test.h5 --model_type tf-h5 --output ./output.onnx 参数说明:model_path:h5模型所在的路径(非文件夹) model_type:模型类型,此处固定为tf-h5 output:输出onnx模型的文件路径 等。

2023-01-15

intel官方人眼睁闭分类模型onnx,输入图片为单眼区域,返回睁或闭的状态

models: - name: open-closed-eye-0001 classification preprocessing: - type: resize size: 32 - type: normalization mean: 127.0, 127.0, 127.0 std: 255.0, 255.0, 255.0 metrics: - type: accuracy reference: 0.9584 Inputs Image, name: input.1, shape: 1, 3, 32, 32 in 1, C, H, W ,BGR Outputs Name: 19, shape: 1, 2, 1, 1 - Softmax output,取两个概率值中大的index对应open或closed

2023-01-15

centos下opencv的编译后的安装包(编译时带opencv-contrib扩展包)c++

编译过程及具体用法,详见博文:【opencv】centos下opencv的编译(带opencv_contrib扩展包)

2022-12-20

arcfaceresnet100-8及scrfd_2.5g_kps_S模型(openvino的xml及bin及普通的onnx模型)

arcfaceresnet100-8及scrfd_2.5g_kps_S模型(openvino的xml及bin及普通的onnx模型) 两者均为开源预训练模型,注意arcfaceresnet100-8模型输入已由RGB调整为BGR,即可由opencv读取后直接输入。其内findface.xml为opencv的开源人脸检测库。调用方式为: cv::CascadeClassifier cascade_face = cv::CascadeClassifier("findFace.xml"); cascade_face.detectMultiScale(frame,faces,1.09,1,0,Size(90,90),Size(400,400)); if(faces.size()!=0) { }

2022-12-02

openvino.rar

oppenvino推理用runtime,适用于windows系统包含lib及dll 其64位qt配置为: LIBS += -L$$PWD/runtime/lib/intel64/Release -lopenvino -lopenvino_c -lopenvino_ir_frontend -lopenvino_onnx_frontend -lopenvino_paddle_frontend INCLUDEPATH +=\ $$PWD/runtime/3rdparty/tbb/bin \ $$PWD/runtime/bin/intel64/Release \ $$PWD/runtime/3rdparty/hddl/bin \ $$PWD/compile_tooln \ $$PWD/runtime/include \ $$PWD/runtime/include/ie \ $$PWD/runtime/include/ngraph \ $$PWD/runtime/include/openvino

2022-12-02

protobuf-cpp-3.11.4.rar

编译过程: mkdir release & cd release cmake -G "NMake Makefiles" -DCMAKE BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../install ../.. nmake nmake install 博文:【protobuf】win10 C++版编译。见内部install文件夹

2022-10-13

sci-kitlearn中的'mnist_784'数据集

手写数字识别,解压后进行加载: from scipy.io import loadmat mnist = loadmat('/app/datasets/mnist-original.mat') mnist.keys()

2022-09-04

qt翻页按钮控件及示例.rar

可与表格进行组合,做表格的翻页工作。 具体功能有: 1.数目可变的页码按钮 2.跳转到最开始及最后一页 3.跳转到指定页 4.控制每页显示的行数(或某控件数量) 5.提供示例可与分页查询相结合。 Qt [1] 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。 2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。

2022-08-08

windows关于qt的数据库操作封装类以及用例,c++代码

功能: 自动与sqlite3数据库做连接 数据的插入,查询,删除、更新操作 数据库建立与表建立 支持关于where语句查询的自动拼接。 支持text的模糊查询 windows 关于qt的数据库操作封装类 以及用例: SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的功能特点有: 1. ACID事务 2. 零配置 – 无需安装和管理配置 3.储存在单一磁盘文件中的一个完整的数据库 4.数据库文件可以在不同字节顺序的机器间自由的共享 5.支持数据库大小至2TB 6. 足够小, 大致13万行C代码, 4.43M 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. 源码完全的开源, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等

2022-08-08

QT windows32位可用的web服务器 C++ 内含部署说明

部署方式:(详细见文件内) 启动时加入: void MyApplication::setupWebservice() { QSettings* settings=new QSettings("./setting.ini",QSettings::IniFormat); if(!QFile("./setting.ini").exists()) { settings->setIniCodec(QTextCodec::codecForName("utf-8")); settings->setValue("host","192.168.25.188"); settings->setValue("port",5007); settings->setValue("minThreads","4");

2022-07-22

windows下c++程序打包成安装包的相关程序和脚本,已修改成可自动将打包后的程序管理员运行的状态

包含脚本及打包程序和打包的配置说明

2022-07-19

【openVINO】Model Zoo预训练模型下载及编译博文对应VS工程

【openVINO】Model Zoo预训练模型下载及编译博文对应VS工程

2022-06-06

【pytorch】将yolov5模型通过openVINO2022部署至生产环境(二):C++版本 异步模式

【pytorch】将yolov5模型通过openVINO2022部署至生产环境(二):C++版本 异步模式

2022-05-31

【pytorch】将yolov5模型通过openVINO2022部署至生产环境(二):C++版本博文对应源码

【pytorch】将yolov5模型通过openVINO2022部署至生产环境(二):C++版本博文对应源码

2022-05-27

cmake适用于win10 64bit版本,用于安装openvino

cmake适用于win10 64bit版本,用于安装openvino

2022-05-17

博文:【pytorch】将模型部署至生产环境:借助TensorRT 8完成代码优化及部署(二):C++接口实现 的代码备份。

博文:【pytorch】将模型部署至生产环境:借助TensorRT 8完成代码优化及部署(二):C++接口实现 的代码备份。

2022-05-16

windows opencv 在画面中添加中文,解决乱码问题。附带动态链接库Gdi32.Lib,gdi32.dll

添加动态链接库Gdi32.Lib,gdi32.dll 头文件包含windows.h 使用示例: 在图像坐标为(50,60)位置加上字符串“这是中文”,字体颜色:白色,字体大小:40,字体类型:微软雅黑 putTextZH(srcImg, "这是中文", Point(50, 60), Scalar(255, 255, 255), 40, "微软雅黑");

2022-05-13

tensorRT的python接口用pycuda的wheel安装包

tensorRT的python接口用pycuda的wheel安装包,pycuda-2021.1+cuda115-cp39-cp39-win32及64

2022-05-11

opencv4.5.0windows64位版,release及debug

opencv4.5.0windows64位版,release及debug,附带额外contrib库

2022-05-06

训练好的口罩检测模型及口罩数据集(正负例各300张)对应博文:pytorch:基于yolov5的口罩检测记录。

训练好的口罩检测模型及口罩数据集(正负例各300张)对应博文:pytorch:基于yolov5的口罩检测记录。

2022-03-30

用于图片标注,win10版本可用,可生成yolo及voc两种版本的标注文件。

快捷键: a前一张图;d后一张图;w快速弹出标注箭头;可选择自动保存模式快速保存图片。

2022-03-29

tensorflow h5py数据

实验用数据集,方便快速实验 服装四分类,提取方法 xData=[] yLabel=[] with h5py.File("myTextData", 'r') as d: xData=np.array(d['x']) yLabel=np.array(d['label']) #(157, 28, 28, 3) print(xData.shape) #(157,4) print(yLabel)

2022-03-11

图片标注用,免安装版本

图片标注用,免安装版本

2022-01-19

myfirst3.xml

人脸识别训练文件,配合博文《基于OPencv LBP的人脸识别代码》

2021-09-17

opencv-4.5.3.rar

opencv最新版源码

2021-09-15

opencv_contrib-4.5.3.zip

opencv附带库源码

2021-09-15

opencv32.rar

opencv32位编译后debug及release版本,动态库及头文件 亲测可用

2021-09-15

opencv32位库及头文件.rar

debug及release版dll及对应头文件

2021-09-13

qt自定义时间选择控件动态库及源码.rar

qt自定义双日历时间范围选择控件。 下载内容包含: 1、控件源代码(qtcreator工程源码) 2、Windows下32位及64位动态库(不必修改样式时可直接使用

2021-08-29

空空如也

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

TA关注的人

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