自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (8)
  • 收藏
  • 关注

原创 OpenCV3学习(5.1)——图像变换之缩放、金字塔、仿射、透射

resize函数OpenCV提供了resize函数来改变图像的大小,函数原型如下:CV_EXPORTS_W void resize( InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int i...

2019-01-30 18:27:52 1389

原创 深度学习-CNN提取图像特征

一、卷积层1.卷积操作2.特征提取—"X" or "O"?二、池化(Pooling)三、Relu 层四、全连接层(Fully connected layers)五、反向传播算法BP六、总结 作为机器学习的一个分支,深度学习同样需要计算机获得强大的学习能力,那么问题来了,我们究竟要计算机学习什么东西?答案当然是图像特征了。将一张图像看做是一个个像素值组成的...

2019-01-30 15:14:37 97272 19

原创 深入理解深度学习中的激活函数

1. 什么是激活函数? 生物神经网络是人工神经网络的起源。然而,人工神经网络(ANNs)的工作机制与大脑的工作机制并不是十分的相似。不过在我们了解为什么把激活函数应用在人工神经网络中之前,了解一下激活函数与生物神经网络的关联依然是十分有用的。一个典型神经元的物理结构由细胞体、向其他神经元发送信息的轴突以及从其他神经元接受信号或信息的树突组成。 ...

2019-01-30 11:51:52 16913 6

原创 OpenCV3学习(4.3)——图像形态学(膨胀,腐蚀)

在图像处理技术中,有一些的操作会对图像的形态发生改变,这些操作一般称之为形态学操作(phology)。数学形态学是基于集合论的图像处理方法,最早出现在生物学的形态与结构中,图像处理中的形态学操作用于图像与处理操作(去噪,形状简化)图像增强(骨架提取,细化,凸包及物体标记)、物体背景分割及物体形态量化等场景中,形态学操作的对象是二值化图像。有名的形态学操作中包括腐蚀,膨胀,开操作...

2019-01-29 18:28:57 2714

转载 OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)

滤波处理分为两大类:线性滤波和非线性滤波。OpenCV里有这些滤波的函数,使用起来非常方便,现在简单介绍其使用方法。线性滤波:1.方框滤波:模糊图像2.均值滤波:模糊图像3.高斯滤波:信号的平滑处理,去除符合正太分布的噪声非线性滤波1.中值滤波:去除椒盐噪声2.双边滤波:保边去噪下面对滤波方法进行一一介绍:方框滤波(box Filter) 方框滤波...

2019-01-29 16:20:15 23123 1

原创 OpenCV3学习(4.1)——图像阈值操作(Threshold,AdaptiveThreshold)

阈值分割的作用阈值分割其实就是图像分离,对于阈值内的你想如何操作,一个最简单的例子就是二值图像。所謂的二值化是將影像進行區分,分成我們感興趣的部分(前景),以及不感興趣的部分(背景),通常將某個強度當作分割的標準,這個強度稱作閾值(threshold),通常以強度超過閾值的像素當作前景,反之則為背景。閾值的算法主要分兩類:固定閾值:程式或使用者直接給定一個灰階值當閾值,再用這個閾值...

2019-01-29 15:08:08 4965

原创 PCA与SVD的数学原理

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。数据的向量表示及降维问题 一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店交易情况可以看成一组记录的集合,其中每一天的数据是一条记录,格式如下:(浏...

2019-01-28 17:42:42 2375

原创 2019年CSDN博客前十排名

CSDN前十的大神:排名第10:https://blog.csdn.net/troubleshooter排名第9:https://blog.csdn.net/lanchunhui排名第8:https://blog.csdn.net/dyllove98排名第7:https://blog.csdn.net/tianlesoftware排名第5:https://blo...

2019-01-28 16:06:34 1416

原创 OpenCV3学习(2.4)——彩色图像读取、灰度图转化、RGB通道分割与合并

下列代码涉及到:1、彩色图像的读取,图像翻转,转换为灰度图;2、对彩色图像的RGB三通道进行切分与合并;涉及到的函数如下:1、图像的反转采用flip函数实现,该函数能够实现图像在水平方向,垂直方向和水平垂直方向的旋转,函数代码如下:void cv::flip( InputArray src,OutputArray dst,int flipCode)其中:src 是原...

2019-01-28 13:29:42 11259

原创 OpenCV3学习(2.3)——图像读取与鼠标截图

鼠标截图在图上做标记时,opencv主要用setMouseCallback()这个函数,下面来讲解:一、setMouseCallback()void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0)winname:窗口的名字;userdate:传给回调函数的...

2019-01-28 12:06:35 1766 1

原创 OpenCV3学习(3)——视频文件的读取与写入

这方面的例程和博客已经很多了,这里贴出我自己的实例供大家学习。      视频画面本质上是由一帧一帧的连续图像组成的,播放视频其实就是在播放窗口把一系列连续图像按一定的时间间隔一幅幅贴上去实现的。人眼在连续图像的刷新最少达到每秒24帧的时候,就分辨不出来图像间的闪动了,使人感觉呈现出来的是连续的画面,视频的播放就是利用了这一点。我们知道,电影被称为“24帧的艺术”,意思就是电影画面每秒刷新24...

2019-01-26 18:55:41 2195

转载 OpenCV3学习(2.2)——图像Mat矩阵操作与常用函数

三、大型数组类 OpenCV3对大型数据的存储,具有代表性的是 cv::Mat和cv::SparseMat 类型。 cv::Mat针对的是密集连续性的存储,大多数的图像数据被存储为这种类,即使数据为空,预留的存储空间仍然存在;而cv::SparseMat针对的是稀疏的存储方式,只有数据不为0才保留空间,否则不会预留。显然cv::SparseMat存储更为节省空间,典型使用cv::Spar...

2019-01-26 15:27:33 2778

原创 OpenCV3学习(2.1)——图像Mat数据的访问-at/ptr/iterator

Mat中像素的获取与赋值 图像就是一系列像素值,OpenCV使用数据结构cv::Mat来存储图像。cv::Mat是一个矩阵类,矩阵中每一个元素都代表一个像素,对于灰度图像,像素用8位无符号数,0表示黑色,255表示白色。对于彩色像素而言,每个像素需要三位这样的8位无符号数来表示,即三个通道(R,G,B),矩阵则依次存储一个像素的三个通道的值,然后再存储下一个像素点。cv::Mat中,...

2019-01-26 14:23:22 2808

转载 三维插值(MATLAB)——TriScatteredInterp/scatteredInterpolant函数

这两个函数功能是相同的,不过TriScatteredInterp是老版函数,MATLAB文档上不推荐使用。函数功能插入二维或三维散点数据使用 scatteredInterpolant 对散点数据的二维或三维数据集执行插值。scatteredInterpolant 返回给定数据集的插值函数 F。可以计算一组查询点(例如二维 (xq,yq))处的 F 值,以得出插入的值 vq = F(xq...

2019-01-22 20:46:11 42822 1

原创 OpenCV3学习(1)——基本数据类型

OpenCV3的数据类型比较多,主要分为:基本数据类型(basic data types): 包括c++对应的基础类,如int、float等;简单的容器、数组和矩阵类;简单的例如点、矩形、尺寸等的几何概念类。帮助类(helper objects): 这一类表示一些抽象的概念。例如碎片处理的点类、切片使用的范围类、终止条件类等。大型数组类(large array types): 这一类通常包...

2019-01-22 16:40:14 3522

原创 Window10环境下的Jupyter notebook安装与打开默认路径的修改

一、jupyter notebook是什么官网的介绍是:Jupyter Notebook是一个Web应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。简单的介绍就是:Jupyter Notebook是Ipython的升级版,而Ipython可以说是一个加强版的交互式 Shell,也就是说,它比在termina...

2019-01-21 16:52:10 3170 1

原创 机器学习算法(8)——朴素贝叶斯、最小风险贝叶斯决策

最后以巨佬——“贝叶斯大爷”作为基本机器学习算法学习的压轴算法》》》》》》》》》》》》》膜拜!!!!!!1 准备知识:条件概率公式   2 如何使用条件概率进行分类  假设这里要被分类的类别有两类,类c1和类c2,那么我们需要计算概率p(c1|x,y)和p(c2|x,y)的大小并进行比较:如果:p(c1|x,y)>p...

2019-01-21 13:08:44 7541

原创 机器学习算法(7)——K近邻(KNN)、K-means、模糊c-均值聚类、DBSCAN与层次与谱聚类算法

1、K-近邻算法(KNN)概述(有监督算法,分类算法) 最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象同时与多个训练对象匹配,导致一个训练对象被分到了多个类的问题,基于这些问题呢,就产生了KNN。 KNN是通...

2019-01-21 11:07:51 9625

原创 机器学习算法(6)——随机森林

随机森林(Random Forests) 随机森林是一种重要的基于Bagging的集成学习方法,可以用来做分类、回归等问题。要学随机森林,先简单介绍一下集成学习方法和决策树算法。Bagging和Boosting的概念与区别 随机森林属于集成学习(Ensemble Learning)中的bagging算法。在集成学习中,主要分为bagging算法和boosti...

2019-01-20 14:14:03 2844

原创 机器学习算法(5)——决策树(ID3、C4.5、CART)

决策树又称为判定树,是运用于分类的一种树结构。决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。...

2019-01-19 20:05:37 2964

原创 机器学习算法(4)——SVM(以及拉格朗日对偶问题)

假设在桌子上似乎有规律放了两种颜色的球,你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”于是我们这样分了: 然后我们往在桌上放了更多的球,似乎有一个球站错了阵营;SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙trick。 现在即使我们放了更多的球,...

2019-01-19 17:41:39 6917

原创 机器学习算法(3)——线性回归与逻辑回归

线性回归线性回归的数学推导主要涉及到以下几个知识点。1. 利用矩阵的知识对线性公式进行整合2. 误差项的分析3. 似然函数的理解4. 矩阵求偏导5. 线性回归的最终求解例子本故事纯属虚构如有雷同那肯定是巧合。A去银行办信用卡,柜台的漂亮妹子询问:"请问您的年龄和月收入是多少?"A:"20岁,月收入2万元"。妹子:“您可办理的额度为1万元”。此时,B同样办信用卡...

2019-01-19 11:17:49 2138

转载 SURF算法

SURFSURF(Speeded Up Robust Features)是对SIFT的一种改进,主要特点是快速。SURF与SIFT主要有以下几点不同处理: 1、 SIFT在构造DOG金字塔以及求DOG局部空间极值比较耗时,SURF的改进是使用Hessian矩阵变换图像,极值的检测只需计算Hessian矩阵行列式,作为进一步优化,使用一个简单的方程可以求出Hessian行列式近似值...

2019-01-18 20:23:05 37444 2

转载 特征点提取—尺度不变特征SIFT算法

目录SIFT算法概述尺度空间与与金字塔表达1高斯模糊2 金字塔构建2.1 金字塔多分辨率3、空间极值点检测(关键点的初步探查)4、关键点描述4.1 KPD生成4.2、关键点的主方向(具有了旋转不变形)5、关键点匹配SIFT算法概述 尺度不变特征变换(Scale-invariant feature transform, 简称SIFT)...

2019-01-18 20:22:28 6215 1

原创 梯度与散度与拉普拉斯算子

梯度(矢量)梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)假设一个三元函数  在空间区域G内具有一阶连续偏导数,点  ,称向量 为函数  在的梯度,记为  或  即     =                                =         ...

2019-01-18 17:30:14 36176 2

原创 机器学习算法(2)——AdaBoost算法

Boosting算法 提升算法/Boosting是一种提高弱分类器准确度的方法。 通常在分类问题中,boosting通过改变训练样本的权重,学习多个分类器,并将这些分类器线性组合,提高分类性能。一组弱分类器可以创建一个强大的分类器。 Boosting 就是通过组合许多弱分类器(只比随机选择好一点)来产生一个强大的分类器组。且弱分类器的设计简单没有太大计算量。boost...

2019-01-18 16:34:08 1880 1

转载 PCL中点云可视化:坐标字段、随机、单一颜色、法向量

PCL中viewer添加并显示的点云过于简单,现总结常见的几种点云渲染方式,便于点云结果的显示。(1)按照点云坐标x、y、z坐标值中字段给点云进行赋值渲染#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/io/pcd_io.h>#include <pc...

2019-01-17 18:05:16 2169

转载 PCL综述—三维图像处理

1、三维图像分类  三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据。和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体-背景解耦。除此之外,对于视觉测量来说,物体的二维信息往往随射影方式而变化,但其三维特征对不同测量方式具有更好的统一性。与相片不同,三维图像时对一类信息的统称,信息还需要有具体的表现形式。其表现形式包括:深度图(以灰度表达物体与相机的距离),...

2019-01-17 15:24:00 3724

原创 PCL学习(4.5)——点云对象的两种定义方式的区别与转换

创建与访问第一种,是一种vector的赋值方式,将point数据push_back到pcl::PointXYZ类型的模板中。pcl::PointCloud<pcl::PointXYZ> pointCloud;pcl::PointXYZ point; point.x = 2.0f - y; point.y = y; point.z = z;...

2019-01-16 16:32:27 5362

原创 PCL学习(4)——octree

octree基于octree的空间划分及搜索操作  代码如下:#include<pcl\point_cloud.h>#include<pcl\octree\octree.h>#include<iostream>#include<vector>#include<ctime>#include<pcl\io...

2019-01-16 16:11:55 1629

原创 PCL学习(3)——kdtree搜索(error C2079: “pcl::KdTreeFLANN::param_radius_)

简介:算法原理1、建立kdtree 主要有两步操作:选择合适的分割维度,选择中值节点作为分割节点:分割维度的选择遵循的原则是,选择范围最大的纬度,也即是方差最大的纬度作为分割维度; 分割节点的选择原则是,将这一维度的数据进行排序,选择正中间的节点作为分割节点,确保节点左边的点的维度值小于节点的维度值,节点右边的点的维度值大于节点的维度值。建立kdtree可遵循以下...

2019-01-15 16:54:18 8077 1

原创 Mean Shift算法(3)在OpenCV上的实现——图像分割PyrMeanShiftFiltering

      Meanshift不仅可以用于视频跟踪,还可以用于图像分割。Meanshift算法找到空间上颜色分布的峰值,关注于颜色的空间分布;在视频跟踪领域组更关注于在连续帧中通过事件跟踪这些分布。      一般而言一副图像的特征点至少可以提取出5维,即(x,y,r,g,b),众所周知,meanshift就是寻找概率密度最大的点(最稠密的地方)。所以这里同样可以用它来寻找这5维空间的密度最大...

2019-01-15 10:56:41 2880

原创 Mean Shift算法(2)在OpenCV上的实现目标跟踪——直方图反向投影

直方图反向投影     直方图反向投影的结果是一个概率分布图,表示一个指定图像片段出现在特定位置的概率。假设我们已经知道图像中某个物体的大致位置,就可以用概率分布图找到物体的准确位置。最可能出现的位置就是窗口中概率最大的位置。如果从一个可能的初始位置开始,在该位置周围反复移动,就可能找到物体所在的准确位置,这个实现方法称为均值漂移算法Mean Shift。MeanShift算法在视频跟踪领域应...

2019-01-14 21:19:54 1324

原创 Meanshift学习(1)

哎,不想学习,就炒炒冷饭,写写博客,总结一下! Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束。Meanshift算法是基于核密度估计的爬山算法,可用于聚类、图像分割、跟踪等。1. Meanshift推导 给定d维空间的n个数据点集X,那么对于空间中的任意点...

2019-01-14 20:37:52 1388

转载 马尔科夫随机场在图像分割上的应用

首先解释几个基本概念:先验概率: 基于历史经验得到的当前事件发生的概率后验概率: 根据数据或证据得到的事件发生的概率 (由因到果)似然概率: 已知事件发生的概率下数据或证据发生的概率 (由果到因)————————————————————————————————————————————————      图像分割和目标识别都可以看成一个图像中各个像素点做label的过程。例如进行...

2019-01-14 16:01:32 3471

原创 PCL 学习(2)——基本数据类型与点云数据拼接

点云数据分为有序与无序两种类型:HEIGHT被设置为1,可以用来作为判断是有序点云或无序点云的判断标准。接下来介绍几种常用的点云类型:1、PointXYZ PointXYZ是使用最常见的一个点数据类型,因为它只包含三维xyz坐标信息,这三个浮点数附加一个浮点数来满足存储对齐,用户可利用points[i].data[0],或者points[i].x访问点的x坐标值。...

2019-01-14 13:25:04 3984 1

原创 PCL点云学习(1)——pcd文件的生成和读取

MATLAB mat文件转TXT文件因为本菜鸟之前一直使用MATLAB做点云处理,所以数据都是mat文件,为了使用PCL库,需要先转化为TXT文件,在使用C++PCL将TXT文件转化为PCD文件。。。。。下面是MATLAB代码,不需要的同学请自动忽略。fid=fopen('pipline.txt','wt');fprintf(fid,'%12.8f %12.8f %12.8f\n',p...

2019-01-13 17:13:10 4746 4

原创 从贝叶斯滤波到蒙特卡洛粒子滤波

一、贝叶斯滤波     首先建立一个动态系统,用来描述跟踪目标在连续时间序列上的变换情况,我们就使用目标的位置(i,j)作为这个动态系统的状态吧。 我们使用状态来描述系统在时刻t的状态,在这个例子中,=(it,jt);使用表示在时刻t目标的观测值。这里请注意,是我们建立的模型中,目标的位置,而目标的实际位置不一定与之相等。举个简单的例子就是:一部小车做匀加速直线运动,是我们用公式计算出来的小车...

2019-01-12 14:47:04 2737

原创 机器学习算法(1)——贝叶斯估计与极大似然估计与EM算法之间的联系

极大似然估计在讲解极大似然估计前,需要先介绍贝叶斯分类:贝叶斯决策: 首先来看贝叶斯分类,经典的贝叶斯公式: 其中:p(w)为先验概率,表示每种类别分布的概率;是条件概率,表示在某种类别前提下,某件事发生的概率;而为后验...

2019-01-12 13:34:58 1533

原创 WIN10+VS2015环境下安装PCL1.8.1

from:https://blog.csdn.net/uniqueyyc/article/details/79245009安装过程中会弹出下面窗口,安装openin的时候选择PCL安装路径下的3rdParty文件夹下面。2、配置环境变量可能已经自动生成,最好检查一下手动向path添加如下路径:3、关键——vs配置新建win32控制台应用程序,“确定”,选择“...

2019-01-11 20:33:30 339

lable_multROI.m

可用于matlab,给图像打标签,支持一张图片上,多个区域的选取,代码详情参见:https://blog.csdn.net/qq_30815237/article/details/119817045

2021-08-20

对pcm音频文件进行去噪

MATLAB 使用巴特沃夫滤波器进行低通滤波,然后使用改进的谱减法进行进一步去噪

2019-03-26

配置VS2015+PCL的属性表

用于配置PCL库的属性管理器,包含目录,库目录,附加依赖项。里面有我的一个完整工程。

2019-01-11

两种点云建模方法对点云进行建模

1、使用alphaShape函数对点云进行建模 2、使用Crust的算法对点云进行建模

2018-04-21

k-近邻点估计点云法向量,及3D-pointcloud

1、运用k-近邻点估计点云法向量; 2、同时运用matlab自带的3D-pointcloud处理函数拟合点云法向量

2018-04-21

本科嵌入式大作业参考提交

一、系统分析与总体设计 2 1、选题的意义 2 2、需求分析 3 3、总体设计 3 二、系统的详细设计 7 1、图案方块的连接判断 7 三、系统实现与调试 10 1、 鼠标交互功能的实现 10 2、绘图功能的实现 11 2.1绘图方案的设计 11 2.2绘图资源的载入与初始化 12 2.3 游戏区域的绘制 13 四、系统运行的结果 14

2015-12-17

libview的led灯控制

labview的一个vi,控制led灯,定时开,关

2015-12-17

cc2530点对点通信

void rf_receive_isr() { int rf_rx_len = 0; int rssi = 0; char crc_ok = 0; rf_rx_len = RFD - 2; // 长度去除两字节附加结果 rf_rx_len &= 0x7F; for (int i = 0; i < rf_rx_len; i++) { rf_rx_buf[i] = RFD; // 连续读取接收缓冲区内容 } rssi = RFD - 73; // 读取RSSI结果 crc_ok = RFD; // 读取CRC校验结果 BIT7 RFST = 0xED; // 清除接收缓冲区 if( crc_ok & 0x80 ) { uart0_sendbuf( rf_rx_buf , rf_rx_len); // 串口发送 printf("[%d]",rssi); } else { printf("\r\nCRC Error\r\n"); } }

2015-08-24

空空如也

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

TA关注的人

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