自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 在 Linux Ubuntu / Windows 10配置 RealSense 开发环境 开发预处理以及了解树莓派3

首先,打开Intel Realsense 官网.(Intel® RealSense™ Computer Vision - Depth and Tracking cameras (intelrealsense.com))将鼠标移动至 PRODUCTS , 然后点击Depth Camera D435i .进入下一个界面,移动到图示的部分,点击OpenCV或者C/C++,进入下一个界面内.点击左上角的SDK 2.0点击 那只企鹅.(Between Window...

2021-12-16 21:50:24 3666

原创 Visual Studio Code C++环境配置及其简单操作

1.安装VScode,可以通过在官网下载和命令行的方式进行安装。(顺便提一下,在命令行安装的过程中可能会让你输入a)2.新建C/C++工程,VScode以文件夹为管理工程的方式,因此需要建立一个文件夹来保存工程。3.配置launch.json文件,它是一个启动配置文件。需要进行修改地方的是指定运行的文件,其次我们还可以在里面添加build任务。4.配置tasks.json文件,这个文件用来方便用户自定义任务,我们可以通过这个文件来添加g++/gcc或者是make命令,方便我们编译程序。5.上述四个流

2021-12-15 22:23:04 2224

原创 Linux Ubuntu 64 安装

由于电脑主机的系统是Windows系统,已被占用,所以安装Linux系统需要用到虚拟机。(不知道这样说对不对,这只是我的理解)。 所以第一步是安装虚拟机。首先在软件商店搜索 VMware-workstation 并下载安装,安装后不要进行更新。 然后,下面是非常重要的一步,如何获得Linux Ubuntu 镜像。 首先我去菜鸟教程查找,它推荐的教程比较老旧也比较繁琐,所以不建议按菜鸟教程的路线操作 ;然后上csdn查找,最后筛选出我认为最简单的路...

2021-12-12 22:08:28 3737

原创 PID算法(没办法完全理解的东西)

快速(P)、准确(I)、稳定(D)P:Proportion(比例),就是输入偏差乘以一个常数。I :Integral(积分),就是对输入偏差进行积分运算。D:Derivative(微分),对输入偏差进行微分运算。 (输入偏差=读出的被控制对象的值-设定值。比如说我要把温度控制在26度,但是现在我从温度传感器上读出温度为28度。则这个26度就是”设定值“,28度就是“读出的被控制对象的值”。)PID作用 比例控制:能迅速反映误差,从而减小误差,但比例控制不能消除稳...

2021-11-28 23:07:20 1122

原创 IMU-fundamental knowledge

IMU全称Inertial Measurement Unit,惯性测量单元,主要用来检测和测量加速度与旋转运动的传感器。其原理是采用惯性定律实现的。 最基础的惯性传感器包括加速度计和角速度计(陀螺仪),他们是惯性系统的核心部件,分别将线性位移或角度旋转转换成电信号,通过电子电路进行放大和处理。一种IMU的原理图加速度计在网络上有一个通俗易懂的盒子模型。我们假设在失重环境下有一个球放在一个一样大的方盒子里面,如图。这时如果有一个加速度向左,如图则盒子...

2021-11-27 16:02:09 1680

原创 并发程序设计

【代码】并发程序设计。

2023-04-13 13:16:39 202 1

原创 使用TensorBoard可视化模型

Tensorboard的使用

2022-09-25 15:32:59 942

原创 由从零开始的神经网络理解torch的几个模块

torch.nn

2022-09-24 23:05:25 1309

原创 通过示例学习Pytorch

通过实例学习pytorch

2022-09-22 12:22:38 1179

原创 Pytorch 浅显入门

Pytorch 入门

2022-09-21 19:04:21 468

原创 欧氏距离,曼哈顿距离,闵可夫斯基距离,马氏距离,汉明距离

欧氏距离,曼哈顿距离,闵可夫斯基距离,马氏距离,汉明距离

2022-09-13 20:08:31 3700

原创 K-近邻算法

KNN

2022-07-29 20:37:43 661

原创 Leetcode 一些简单的二叉树

二叉树

2022-06-13 21:29:14 117

原创 深度优先搜索

leetcode 的dfs题目

2022-06-03 21:21:59 188

原创 opencv 双边滤波

双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保留边缘去除噪声的目的。双边滤波器之所以能够做到在平滑去噪的同时还能够很好的保存边缘(Edge Preserve),是由于其滤波器的核由两个函数生成:一个函数由像素欧式距离决定滤波器模板的系数 (欧式距离是在n维空间中两点真实的直线距离) 另一个函数由像素的灰度差值决定滤波器的系数APIvoid bilateralFilter(Inp

2022-05-31 19:48:39 1346

原创 Telemetry 基础

首先,上一波图片Telemetry 原理GRPC

2022-04-14 22:43:30 373

原创 NETCONF原理

NETCONF简介NETCONF(网络配置协议),提供一套管理网络设备的机制。用户可以使用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。 NETCONF有三个对象:NETCONF客户端(管理平台、SDN控制器)NETCONF服务器(网络设备)NETCONF消息(对数据的增删改查)NETCONF协议的编码格式:XML编码,NETCONF用文本文件表示复杂的层次化数据。NETCONF协议框架NETCONF协议在概念上可以划分为4层:安全传输层、消息层、操作层、内容层.

2022-04-13 22:22:04 2146

原创 基于颜色的对象检测与跟踪

实现步骤1. inRange过滤2. 形态学操作提取3. 轮廓提取4. 外接矩形获取5. 位置标定API// 该函数输出的dst是一幅二值化之后的图像void inRange(InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst );参数解释:1:输入要处理的图像,可以为...

2022-04-11 20:30:52 419

原创 SNMP 原理与实践

SNMP是什么SNMP ( Simple Network Management Protocol) : "简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。SNMP背景SNMP的基本思想:为不同种类的设备、不同厂家生产的...

2022-04-11 11:40:39 1536

原创 HTTP 基础

HTTP 教程 | 菜鸟教程 (runoob.com)

2022-04-10 13:56:05 295

原创 像素重映射

像素重映射的概念例如: 图片的左右上下翻转,手机横屏竖屏转换.APIcv::remap ( InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation, int borderMode = BORDER_CONSTANT, const Scalar borderValue = Scalar() )第一个参数,InputArray类..

2022-04-05 15:06:50 195

原创 聚类算法——KMeans(K-均值)

聚类的概念聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不同的属性和/或特征。聚类是一种无监督学习的方法,是许多领域中常用的统计数据分析技术。聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则不一样,聚类事先不知道目标变量是什么,类别没有像分类那样被预先定义出来。这也是聚类存在的意义。聚类的过程1. 数...

2022-04-04 19:53:07 9407 1

原创 基于OpenCV的Haar与LBP级联分类器

级联分类器原理-AdaBoost·Viola和Jones – 2001在CVPR提出 ·一种实时对象(人脸)检测框架 ·训练速度非常慢,检测速度非常快·5000个正向人脸样本与300万个非人脸负样本数据弱分类器-Weak classifier = Feature 强分类器-多个弱分类器的线性组合 级联分类器-多个强分类器的组合Boosting算法是一种通过多次学习来提升算法精度的方法,它采用的是综合的...

2022-04-03 13:02:24 4338

原创 Java基础教程 (非保姆级)

Java开发环境配置可以参考菜鸟教程.Java 开发环境配置 | 菜鸟教程 (runoob.com)https://www.runoob.com/java/java-environment-setup.htmlJava 编译器推荐Jetbrain的 IntelliJ IDEA. Java 基础语法一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面直接看一个示例:Java 标识符...

2022-04-01 23:31:39 778

原创 OpenCV——Haar特征

Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定走向(水平、垂直、对角)的结构对于图中的A, B和D这类特征,特征数...

2022-03-27 18:49:48 1169

原创 OpenCV——积分图

前言:高等数学和线性代数还是得好好学的.积分图(integral image)积分图像是一种在图像中快速计算矩形区域和的方法,这种算法的主要优点是一旦积分图像首先被计算出来,我们就可以在常量时间内计算图像中任意大小矩形区域的和。这样在图像模糊、边缘提取、对象检测的时候极大降低计算量、提高计算速度。积分图中任意一点(x,y)的值等于灰度图的左上角与当前点所围成的矩形区域内所有像素点灰度值之和。(下左图蓝色虚线框部分)下图是一个例子:积分...

2022-03-26 18:25:47 1668

原创 OpenCV——LBP特征

LBP ( Local binary pattern) ,局部二进制模式.LBP特征的描述原始的LBP算子定义为在3 ∗ 3 的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于等于中心像素值,则该点的位置被标记为1,否则为0。这样3 ∗ 3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。需要注意的是,LBP值是按照顺时针方向组成的二进制数。

2022-03-25 23:37:42 4354

原创 C++ —— 链表四兄弟

不管进行什么操作都要记得先连后断单向链表#include<iostream>using namespace std;typedef int DataType;#define Node ElemType#define ERROR NULL//构建一个节点类class Node{public: int data; //数据域 Node* next; //指针域};//构建一个单链表类class LinkList{public:

2022-03-25 20:36:02 214

原创 OpenCV——HOG特征检测

基本概念方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功 主要思想:在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于...

2022-03-24 17:52:34 2061

原创 卷积神经网络简单认知

卷积(11条消息) 卷积的浅显理解_DDsoup的博客-CSDN博客https://blog.csdn.net/m0_61897853/article/details/123485702?spm=1001.2014.3001.5501(11条消息) 多种类型的卷积_DDsoup的博客-CSDN博客https://blog.csdn.net/m0_61897853/article/details/123597030?spm=1001.2014.3001.5501神经网络 神经网...

2022-03-22 17:36:03 591

原创 多种类型的卷积

2D卷积从最原始的图像卷积操作开始。因为图像有单通道图像(灰度图)和多通道图(RGB图),所以对应常规卷积方式可以分为单通道卷积和多通道卷积。二者本质上并无太大差异,无非对每个通道都要进行卷积而已。先来看单通道卷积。 在单通道卷积中,针对图像的像素矩阵,卷积操作就是用一个卷积核来逐行逐列的扫描像素矩阵,并与像素矩阵做元素相乘,以此得到新的像素矩阵。其中卷积核也叫过滤器或者滤波器,滤波器在输入像素矩阵上扫过的面积称之为感受野。假设输入图像维度为 n ∗ n ∗ c,滤波器维度...

2022-03-19 17:25:24 4109

原创 卷积的浅显理解

卷积的定义由上述式子可以知道,卷积是一种加权叠加,是一种积分运算.这个特征有什么意义?我们令 x= r,y = n - r 那么x + y = n 就是下面这些直线:如果积分求和这些直线,就好比,把毛巾沿着角卷起来: 图像卷积卷积的时候需要对卷积核进行180的旋转,同时卷积核中心与需计算的图像像素对齐,输出结构为中心对齐像素的一个新的像素值,计算...

2022-03-14 20:02:35 4348

原创 OpenCV——Grabcut算法

Grabcut 算法主要运用于计算机视觉中的前背景分割,立体视觉和抠图等。该算法利用了图像中的纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作即可得到比较好的分割结果.1. Grabcut 的目标和背景的模型是RGB三通道的混合高斯模型GMM;2.Grab Cut为一个不断进行分割估计和模型参数学习的交互迭代过程;3.Grab Cut只需要提供背景区域的像素集就可以了。也就是说你只需要框选目标,那么在方框外的像素全部当成背景,这时候就可以对GMM进行建模和完成良好...

2022-03-13 14:27:39 8272 11

原创 OpenCV——SIFT特征检测

算法描述SIFT特征不只具有尺度不变性,即使改变旋转角度,图像亮度或拍摄视角,仍然能够得到好的检测效果。整个算法分为以下几个部分:建立尺度空间,寻找极值构建图像高斯金字塔,求取DOG,发现最大与最小值在每一级构建的高斯金字塔,每一层根据sigma的值不同,可以分为几个待级,最少有4个。关键点定位我们在像素级别获得了极值点的位置,但是更准确的值应该在亚像素位置,如何得到--这个过程称为关键点(准确/精确)定位。...

2022-03-12 20:40:24 5595

原创 基于距离变换与分水岭的图像分割

图像分割的定义根据灰度、颜色、纹理和形状等特征,把图像分成若干个特定的、具有独特性质的区域,这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性,并提出感兴趣目标的技术和过程。 它是由图像处理到图像分析的关键步骤。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。目的是将图像中像素根据一定的规则分为若干(N)个聚(cluster)集合,每个集合包含一类像素。将对象在背景提取出来...

2022-03-10 17:31:50 471

原创 基于OpenCV+RealSense的障碍物检测

摄像头:实感摄像头D415基本思路:通过realsense SDK2.0 定义的类型和接口获取摄像头的数据和参数,将其转化为Mat对象对其进行图像模糊,转化为灰度图,二值化的处理,然后提取并绘制轮廓。接着计算轮廓中心点坐标,将其转化为字符串显示出来.代码实现:#include <iostream>#include <string.h>#include <opencv2/opencv.hpp> #include <librealsense2

2022-03-07 20:06:14 4303 10

原创 OpenCV——角点检测 (Corner Detection)

角点 角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。角点检测(CornerDetection)是计算机视觉系统中获取图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维重建和目标识别等,也可称为特征点检测。角点检测算法的基本思想 使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么我们可以认为该窗口中存在...

2022-03-04 22:08:51 8122 1

原创 Leetcode 动态规划刷题指南 第三第四天

思路: 当只有两个台阶时是特殊情况,直接比较;其余的用 min (); 函数判断每次走一个或者两个台阶,求得局部最优解,利用 p1,p2 两个变量存储前面的最小花费额。class Solution {public: int minCostClimbingStairs(int[] cost) { //特殊情况 if (cost.length == 2) { return Math.min(cost[0], cost[1]); }...

2022-02-24 13:20:09 194 1

原创 最长回文子串——动态规划

动态规划思路首先确定状态转移方程:数组S用来存储输入的字符串,令dp[ i ] [ j ] 表示 S[ i ] 至 S[ j ] 所表示的子串是否是回文子串,是则为1,不是为0。这样根据S[ i ]是否等于S[ j ],可以把转移情况分为两类: ①若S[i]=S[j],那么只要S[i+1]和S[j-1]是回文子串,S[i+1]至S[j-1]就是回文子串;如果S[i+1]至S[j-1]不是回文子串,则S[i]至S[j]一定不是回文子串。 ②若S[...

2022-02-23 22:02:17 3454

原创 关于 Intel Realsense 深度图像处理.1(C++)

Realsense SDK2.0 + C++rs-hello-realsensers-hello-realsense‎示例演示了连接到英特尔实感设备以及通过打印到摄像头视野中心物体的距离来利用深度数据的基础知识。‎假设相机已连接,您应该看到线路不断更新。X是相机视野中心物体的距离(以米为单位)。‎除高级功能外,所有功能都通过单个标头提供:‎#include <librealsense2/rs.hpp> // Include Intel RealSense Cros.

2022-02-22 20:27:14 12287

深Blue队国赛程序.cpp

深Blue队国赛程序.cpp

2022-03-12

空空如也

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

TA关注的人

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