随笔分类 -  opencv学习笔记

1
摘要:命令行解析类CommandLineParser 该类的作用主要用于命令行的解析,也就是分解命令行的作用。以前版本没这个类时,如果要运行带参数的.exe,必须在命令行中输入文件路径以及各种参数,并且输入的参数格式要与代码中的if语句判断内容格式一样,很不方便。另外如果想要更改输入格式的话在主函数文件中 阅读全文
posted @ 2018-10-07 18:57 feifanren 阅读(4985) 评论(1) 推荐(1) 编辑
摘要:opencv中cv::invert()可直接用来求解矩阵的逆矩阵 函数原型如下: double cv::invert(InputArray src, OutputArray dst, int flags = DECOMP_LU ) Parameters src: 待求解的矩阵 dst: 输出的逆矩阵 阅读全文
posted @ 2018-07-25 22:33 feifanren 阅读(6473) 评论(0) 推荐(0) 编辑
摘要:特征匹配 特征匹配是计算机视觉中经常要用到的一步。通过对图像与图像或者图像与地图之间的描述子进行准确匹配,我们可以为后续的姿态估计,优化等操作减轻大量负担。然而,由于图像特征的局部特性,误匹配的情况广泛存在。在opencv的匹配算法中 实际上集成了一些对误匹配的处理。我们首先介绍一下暴力匹配算法。 阅读全文
posted @ 2018-06-11 19:09 feifanren 阅读(5170) 评论(0) 推荐(0) 编辑
摘要:cv::getTickCount()可以用来测量一段代码的运行时间,这个函数返回从上次开机算起的时钟周期数。 由于我们需要的是某个代码段运行的毫秒数,因此还需要另一个函数cv::getTickFrequency()。此函数返回每秒内时钟的周期数。 用于统计函数(或一段代码)耗费时间的方法如下: do 阅读全文
posted @ 2018-06-04 20:15 feifanren 阅读(5002) 评论(0) 推荐(0) 编辑
摘要:opencv中封装了一个专门用于求解cv::Mat均值的函数,即cv::mean(&cv::Mat),该函数会得到Mat中各个通道的均值,若要获取指定通道的均值,做进一步解析即可。 具体使用方法如下: 示例代码: 下面给出opencv的官方说明: Operations on Arrays 比如:cv 阅读全文
posted @ 2018-06-04 20:13 feifanren 阅读(23794) 评论(1) 推荐(0) 编辑
摘要:void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 ); 第一个参数img:要划的线所在的图像; 第二个参数pt1:直线起点 阅读全文
posted @ 2018-06-04 15:31 feifanren 阅读(34576) 评论(0) 推荐(0) 编辑
摘要:首先看一下Scalar的定义 可以看到,Scalar是一个由长度为4的数组作为元素构成的结构体,Scalar最多可以存储四个值,没有提供的值默认是0。 Scalar常用的使用场景如下: 上面的代码表示:创建一个2通道,且每个通道的值都为(1,3),深度为32,7行7列的图像矩阵。CV_32F表示每个 阅读全文
posted @ 2018-06-04 15:23 feifanren 阅读(4471) 评论(0) 推荐(0) 编辑
摘要:opencv中有时需要对Mat数据需要对其中的数据求取最大值和最小值。opencv提供了直接的函数 实现代码如下所示: 阅读全文
posted @ 2018-06-04 15:06 feifanren 阅读(7583) 评论(0) 推荐(2) 编辑
摘要:cv::cvtColor()用于将图像从一个颜色空间转换到另一个颜色空间的转换(目前常见的颜色空间均支持),并且在转换的过程中能够保证数据的类型不变,即转换后的图像的数据类型和位深与源图像一致。 具体调用形式如下: 其中,最后一个参数dstCn用于指定目标图像的通道数,如果指定的值是默认值0,那么通 阅读全文
posted @ 2018-06-04 10:21 feifanren 阅读(7725) 评论(0) 推荐(0) 编辑
摘要:opencv提供了一种图像缩放函数 功能:实现对输入图像缩放到指定大小 函数原型: 函数参数: InputArray src:输入图像,可以是Mat类型 OutputArray dst:输出图像,其尺寸由第三个参数dsize(如果dsize不为0),当dsize为0,输出图像的尺寸由src.size 阅读全文
posted @ 2018-06-03 22:12 feifanren 阅读(8958) 评论(0) 推荐(0) 编辑
摘要:在写计算机视觉与导航技术的课程作业,是关于sift和surf特征的提取及匹配。因为opencv中都有直接的函数可以调用。 关于SIFT和SURF的特征在opencv的nonfree模块中,从字面意思就可以知道“不免费”,美帝的专利意识还是挺强的。原因在于sift和surf这两种特征算法是已经在美国申 阅读全文
posted @ 2018-05-03 15:17 feifanren 阅读(1871) 评论(0) 推荐(1) 编辑
摘要:在ubuntu下删除opencv需要以下步骤: 1.进入opencv的源代码文件夹下的release(这是你在安装opencv时候自己命名的,cmake时候所在的目录) 2.执行以下命令 删除/usr中所有opencv相关项 移除Python相关 ******如果找不到当初安装的目录,执行1,执行3 阅读全文
posted @ 2018-05-03 10:42 feifanren 阅读(1615) 评论(0) 推荐(0) 编辑
摘要:最简单的图就是单通道的灰度图。在一张灰度图中,每个像素位置(x,y)对应一个灰度值I,图像在计算机中就存储为数值矩阵。 一张宽度为640像素,高度为480像素分辨率的灰度图就可以表示为 为什么这里的二维数组是 480 × 640 呢?因为在程序中,图像以一个二维数组形式存储。它的第一个下标则是指数组 阅读全文
posted @ 2018-04-25 22:31 feifanren 阅读(6783) 评论(0) 推荐(0) 编辑
摘要:opencv3中图形存储基本为Mat格式,如果我们想获取像素点的灰度值或者RGB值,可以通过image.at<uchar>(i,j)的方式轻松获取。 Mat类中的at方法对于获取图像矩阵某点的RGB值或者改变某点的值很方便,对于单通道的图像,则可以使用: 其中有一个要注意的地方是i对应的是点的y坐标 阅读全文
posted @ 2018-04-25 20:58 feifanren 阅读(37510) 评论(0) 推荐(0) 编辑
摘要:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导: 图像梯度: G(x,y) = dx(i,j) + dy(i,j); dx(i,j) = I(i+1,j) - I(i,j); dy(i,j) = I(i,j+1) - I(i,j); 其中,I是图像像素的值(如:RGB值) 阅读全文
posted @ 2018-04-07 16:01 feifanren 阅读(8691) 评论(0) 推荐(2) 编辑
摘要:转载:ubuntu下opencv2.4.9和opencv3.1.0的共存 关于opencv3.1.0和opencv2.4.9的共存问题其实并不是什么大的问题,因此网上资料比较少。本人也是因为在安装Ros Indigo时必须得配合opencv2.4.9使用,与之前的opencv3.1.0版本不太兼容, 阅读全文
posted @ 2018-04-03 10:23 feifanren 阅读(693) 评论(1) 推荐(1) 编辑
摘要:在cmake工程中使用opencv需要在CMakeLists.txt文件中加以调用,在opencv2.xx版本,可以用以下语句 但如果你使用的是OpenCV 3.x版本,再用上面的方法就会报错 从上面的报错可以看出在OpenCVConfig.cmake文件中设置OpenCV_FOUND to FAL 阅读全文
posted @ 2018-03-31 15:12 feifanren 阅读(4782) 评论(0) 推荐(0) 编辑
摘要:data:Mat对象中的一个指针,指向内存中存放矩阵数据的一块内存 (uchar* data) dims:Mat所代表的矩阵的维度,如 3 * 4 的矩阵为 2 维, 3 * 4 * 5 的为3维 channels:通道,矩阵中的每一个矩阵元素拥有的值的个数,比如说 3 * 4 矩阵中一共 12 个 阅读全文
posted @ 2018-03-31 09:35 feifanren 阅读(21123) 评论(0) 推荐(7) 编辑
摘要:参考:https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/ 步骤# 1:安装opencv的依赖项 本教程中的大部分(实际上全部)步骤将通过使用您的终端来完成。 首先,打开命令行并更新apt-get软件 阅读全文
posted @ 2018-03-22 09:48 feifanren 阅读(3795) 评论(0) 推荐(0) 编辑
摘要:参考大佬博文:blog.csdn.net/jia20003/article/details/7724530 lps-683.iteye.com/blog/2254368 openCV里有两个函数(比较常用)处理霍夫变换直线检测,有什么区别呢。 CvHoughLine:是用于标准的霍夫变换方法 CvH 阅读全文
posted @ 2017-12-16 20:42 feifanren 阅读(3689) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示