- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 OpenCV学习二十一:HoughLines 、HoughLinesP、HoughCircles 霍夫直线与霍夫圆
霍夫直线有两个函数,HoughLines 与 HoughLinesP,第一个是得到极坐标输出,第二个得到直角坐标系中直线的首位两点集合。HoughLines : 它是如何实现的? 众所周知, 一条直线在图像二维空间可由两个变量表示. 例如: 在 笛卡尔坐标系: 可由参数: 斜率和截距表示. 在 极坐标系: 可由参数: 极径和极角表示 对于霍夫变换, 我们将用 极坐标...
2018-02-27 15:30:43 1639
原创 OpenCV学习二十:canny 算子学习
懒了,就这样吧#include <opencv2/opencv.hpp> #include <stdio.h> #include <stdlib.h> using namespace cv; using namespace std; char file[] = "1.jpg";int main(int argc, char** argv...
2018-02-26 11:17:43 261
原创 OpenCV学习十九:Laplacian 拉普拉斯算子
使用中心为5的8邻域拉普拉斯算子与图像卷积可以达到锐化增强图像的目的,拉普拉斯算子如下图所示: 这个好像不对,大概是这意思吧Laplacian( src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT );src_gray: 输入图像。dst: 输出图像ddepth: 输出图像的深度。 因为输入图像的深度是 C...
2018-02-26 10:43:02 9910
原创 OpenCV学习十八:sobel 、scharr 边缘检测算子
Sobel 算子是一个离散微分算子 (discrete differentiation operator)。 它结合了高斯平滑和微分求导,用来计算图像灰度函数的近似梯度。 图像边缘,相素值会发生显著的变化了。表示这一改变的一个方法是使用 导数 。 梯度值的大变预示着图像中内容的显著变化。用更加形象的图像来解释,假设我们有一张一维图形。下图2中灰度值的”跃升”表示边缘的存在,...
2018-02-24 16:03:28 2081
转载 OpenCV学习十七:OpenCV中Mat的type
opencv中Mat存在各种类型,其中mat有一个type()的函数可以返回该Mat的类型。类型表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)。具体的有以下值: 1.Unsigned 8bits(一般的图像文件格式使用的大小)IplImage数据结构参数:IPL_DEPTH_8UCvMat数据结构参数:CV_8UC1,CV_...
2018-02-24 11:12:03 6603 6
原创 OpenCV学习十六:copyMakeBorder 边缘处理
void copyMakeBorder(InputArray src, 输入OutputArray dst, 输出int top, 上边框int bottom, 下边框int left, 左边框int right, 右边框int borderType, 边框类型const Scalar& value=Scalar() 填充颜色)常用的边框类型:BORDER_CO...
2018-02-24 10:26:02 998
原创 OpenCV学习十五:filter2D 线性滤波
简单介绍下函数:filter2D(输入,输出,卷积核,锚点),其中锚点Point(-1,-1)表示中心。介绍几个滤波器:#include <opencv2/opencv.hpp> #include <stdio.h> #include <stdlib.h> using namespace cv; using namespace std; ...
2018-02-23 16:47:35 1179
转载 adaptiveThreshold自适应二值化源码分析
自适应二值化介绍:二值化算法是用输入像素的值I与一个值C来比较,根据比较结果确定输出值。自适应二值化的每一个像素的比较值C都不同,比较值C由这个像素为中心的一个块范围计算在减去差值delta得到。C的常用计算方法有两种: 1.平均值减去差值delta(使用盒过滤boxfilter,性能会非常不错) 2.高斯分布加权和减去差值delta (使用高斯滤波GaussionBlur) 只要高兴用什么...
2018-02-23 16:14:35 1316 1
原创 OpenCV学习十四:threshold、adaptiveThreshold 阀值
threshold( cv::InputArray src, // 输入图像 cv::OutputArray dst, // 输出图像 double thresh, // 阈值 double maxValue, // 向上最大值 int thresholdType // 阈值化操作的类型 ); 几种操作类型,前五个对应下面原理图:...
2018-02-23 15:30:40 765
原创 OpenCV学习十三:pryUp、pryDown 上采样、降采样以及 高斯不同
pryUp:上采样,图像放大一倍;pryDown:降采样,图像缩小一倍。降采样原理:1. 将原图像进行高斯模糊2. 删除偶数行/列的图像。高斯不同是图像的内在特征,在绘图图像增强、角点检测中经常用到。高斯不同:1. 得到一次高斯模糊图像;2. 得到二次高斯模糊图像;3. 用一次高斯模糊图像减去二高斯模糊图像。#include <opencv2/opencv.hpp> #includ...
2018-02-23 13:43:20 1778
原创 OpenCV学习十二:morphologyEx,图像的开运算、闭运算、顶帽运算、黑帽运算以及形态学梯度
开运算---先腐蚀,后膨胀。去除图像中小的亮点(CV_MOP_OPEN);闭运算---先膨胀,后腐蚀。去除图像中小的暗点(CV_MOP_CLOSE);形态学梯度---原图膨胀图像 — 原图腐蚀图像(CV_MOP_GRADIENT);顶帽---原图像 — 原图像开操作。保留小亮点,去除大亮点。(CV_MOP_TOPHAT);黑帽---原图像闭操作 — 原图像(CV_MOP_BLACKHAT);api...
2018-02-14 10:15:11 14681
原创 OpenCV学习十一:dilate、erode 膨胀及腐蚀
膨胀及腐蚀,函数很简单,就写了个Demo定义:膨胀---图像膨胀的过程类似于一个卷积的过程,假设有图像矩阵A以及结构元素B(注意,B的形状、尺寸没有限制),B在A矩阵上依次移动,每个位置上B所覆盖元素的最大值替换B的中心位置值(即锚点处),即为膨胀的过程。腐蚀---腐蚀的过程与膨胀一致,区别在于用最小值替换中心位置值。# include<stdio.h># incl...
2018-02-13 10:54:14 14749
中心矩原点矩Hu矩Zernike矩的介绍
2018-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人