数字图像处理OpenCV
文章平均质量分 92
邓文尧
这个作者很懒,什么都没留下…
展开
-
深入剖析移动最小二乘,实现曲线拟合 python实现
移动最小二乘顾名思义就是移动着求最小二乘,把区间分段的求最小二乘,分段越小自然效果越好,分段越大,自然效果越差,就是利用微分的思想。数学推导相比于最小二乘,移动最小二乘建立的拟合函数是采用分段拟合以及平滑化。由一个系数向量和一个基函数p(x)构成。我们可以先把一个区间分成若干个局部子区间,每个子区间进行最小二乘的拟合,子区间的函数可以表示为:权函数应该是非负的,并且和距离成反比。...原创 2019-12-18 17:16:09 · 2445 阅读 · 1 评论 -
利用SolovePnP求解相机位姿,并且验证9点手眼标定法
9点标定法用来将相机坐标系转到一个已知坐标系的方法,也就是求相机坐标系到已知世界坐标系下的坐标变换。如图所示,寻找R,T即为所求目标。SolvePnP图片来源于Opencv官网。对于图中我们最终的目标是求解出红色区域,可以采用SVD分解的方法解这个方程。对于普通的任意两个点集P和Q之间的关系可以表达为:对t求偏导,t对加法是封闭的,所以可以对t求偏导,但是不能对R直接求偏导...原创 2019-12-10 17:08:16 · 2516 阅读 · 5 评论 -
基于DBSCAN算法的椭圆或者圆中心点的检测,opencv+sklearn
DBSCAN+椭圆拟合首先,这篇文章使用的方法,已经有论文出版,如果需要使用,请注意版权的保护,论文名为Binocular Vision System Integrated with Transcranial Magnetic Stimulation Automatic Therapeutic Apparatus。优点:1.计算精度高2.算法原理简单,缺点:1.计算复杂度较高,实时性不...原创 2019-09-23 09:45:45 · 2918 阅读 · 3 评论 -
从线性回归开始到BP神经网络到CNN卷积神经网络,代码层面剖析
1.1 CNN卷积神经网络原理1.1.1从BP神经网络开始BP(Backpropagation)神经网络,是一种典型的基于反向传播的神经网络。首先前向传播是比较容易的,其实就是多个线性的分类器的融合。在了解神经网络之前先了解一下线性分类器。最简单的线性回归。我们先假设存在一组数据 输入为x1,x2,x3,…xn. 输出为y.我们是不是可以假设他们之间存在一种线性的函数关系呢?即:这样一来...原创 2019-07-31 14:26:03 · 2178 阅读 · 0 评论 -
vs2015+opencv4.1.0+opencv4.1.0_contribute+环境配置
vs2015+opencv4.1.0+opencv4.1.0_contribute+环境配置准备工具Cmakevs2015opencv4.1opencv4.1_contribute首先下载opencv和opencv_contribute,在官网的GitHub上下载,链接为https://github.com/opencv/opencv/tree/4.1.0下载opencv_cont...原创 2019-07-21 11:00:02 · 2357 阅读 · 4 评论 -
opencv中背景建模方法(二)
背景建模上一篇文章中有一个平均差分的简单背景建模方法,现在介绍opencv库中封装好的背景建模方法。我们只需要知道它的用法,然后具体的细节参考每个背景建模的具体算法,在这里给大家一个实例,用于实际实现opencv中的背景建模方法,opencv的版本是4.0,contribute版本也是4.0背景建模方法:在opencv中各种背景提取的方法已经被包装好了,我们只要使用即可,下面介绍一些语法规...原创 2019-07-17 15:17:29 · 1848 阅读 · 0 评论 -
基于平均背景法的背景提取,最简单,最基础的背景提取
基于平均背景法的背景提取。首先我们得明白,一幅图像中什么属于背景什么属于前景。我们简单的可以这么理解,前景一般是会动的物体,而背景一般是不会动的物体。我们可以以此为依据,从而辨别简单的前景和背景。不会动的物体,我们可以认为在一个很长的时间段内,它的像素值几乎都是保持一个数的。那么我们可以取若干张图片将其对应点的像素大小相加,然后再求均值,我们即可以认为这个是我们所需要的背景。可以用以下公式来表示...原创 2019-07-15 22:44:07 · 4232 阅读 · 1 评论 -
Opencv中Kmeans使用学习,更换证件照背景,QT界面,函数实现,C++实现
kmeans简介kmeans是机器学习中的一种聚类算法,简单来说就是把在一个区域中的点进行分类,分类的类别由自己定。具体的数学原理大家可以在很多的blog中学习,在这里主要介绍opencv中python的实现。在这里给大家一个非常直观的链接https://www.naftaliharris.com/blog/visualizing-k-means-clustering/大家可以访问该网址。里面由...原创 2019-05-30 18:57:31 · 1449 阅读 · 2 评论 -
运用equalizeHist()对彩色图像进行均衡化处理
equalizeHist()函数void cv::equalizeHist ( InputArray src,OutputArray dst) 该函数只支持但通道的灰度图均衡化,所以对于彩色图像来说可以先将多通道分离成单通道,然后再合并成多通道通道分离void cv::split(inputArray, src //多通道数组vector<>channel...原创 2019-05-18 17:02:46 · 4424 阅读 · 0 评论 -
学习Opencv,图像和大数组类型,Mat类及其相关操作,opencv的入门基础
Mat类相关操作Opencv的入门基础初始化构造函数mat类是opencv中一个非常重要的数据结构,在这里先记录一下最基础的知识,也是最重要的知识吧,千里之行始于足下。构造函数说明cv:Mat(int rows ,int cows, int type)指定类型的二维数组CV::Mat(int rows ,int cows,int type,const Saclar...原创 2019-05-18 10:58:43 · 1646 阅读 · 0 评论 -
SIFT角点检测原理以及SIFT源码分析,vs+python环境配置
SIFT角点检测原理以及SIFT源码分析导言:sift角点检测在Opencv3以上包含在opencv_contrib包中,大家可以去Gitbub自行下载对应的版本此处给出下载链接https://github.com/opencv/opencv_contrib/releases选择自己对应的opencv版本下载完成后大家可以参考https://blog.csdn.net/cosmispower...原创 2019-05-13 21:36:25 · 2546 阅读 · 3 评论 -
机械臂的手眼标定 opencv实现
相机的手眼标定背景:在机械手臂上安装相机就相当于给机器人安装上了眼睛,但是从相机坐标系怎么转换到基座标系呢?这个时候就需要用到机械手臂的标定。如下图所示:上图描述了手眼校准问题,其中需要估计安装在机器人抓手(“手”)上的相机(“眼”)之间的转换。也就是标定出 gTc首先将标定板放置到一个位置,相机拍摄标定板,通过单目或者双目标定可以得到从标定板的世界坐标系到相机坐标系的转换关系。由...原创 2019-04-21 11:57:57 · 14677 阅读 · 15 评论 -
OpenCV实现灰度直方图,阈值分割。数字图像处理
灰度直方图原理灰度直方图的含义是一张灰度图上各个灰度值所占的频率大小,并将其以直方图的形式展现。下面给出一个例子,灰度值定义在0-7之间的数值。假设各个像素点的灰度值如上图所示,则可以统计出各个灰度值所占的频率如下:根据各个灰度占的频率可以将其以直方图的形式绘制如下:可以很直观的观察到各个灰度值所占的比率。而灰度直方图在灰度图像处理方面有比较多的应用。例如1.可以为阈值分割提供一定...原创 2019-04-05 10:01:38 · 6313 阅读 · 0 评论