![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
文章平均质量分 92
苏源流
从事计算机视觉和SLAM领域,2012年10月“全国大学生数学建模竞赛”二等奖(数学应用能),2011年攻读 自动化 专业,2015年攻读“模式识别与智能系统” 专业。现在主要工作内容无人驾驶方面的视觉定位与导航,能够提供整体的地下车库自动泊车定位解决方案,该方案也适用于工业园区泊车,物流机器人,园区巡视机器人,餐饮配送、服务机器人等。本人熟悉linux下ROS环境,掌握opencv中2/3的功能,掌握视觉SLAM中ORB_SLAM2,激光lidar的loam。熟悉摄像机,激光雷达,惯导IMU等传感器的使用与开发。主导和参与多个定位项目,欢迎交流。致力于推进技术的应用,技术改变生活。不做无脑人
展开
-
[学opencv]opencv Mat类型初始化,遍历,赋值
1.opencv Mat类型定义 cv::Mat a(cv::Size(w,h),CV_8UC1); // 单通道 cv::Mat b = cv::Mat(cv::Size(w,h),CV_8UC3); //3通道每个矩阵元素包含3个uchar值对于维数较小的Mat类型,直接定义赋值方法如下:Mat mtest = (Mat_<float>(4, 1) <...原创 2021-02-05 13:56:32 · 2812 阅读 · 0 评论 -
[学习OpenCV]OpenCV drawMatches – queryIdx和trainIdx,H矩阵
这是OpenCV的drawMatches()功能:void drawMatches(Mat img1, vector<KeyPoint> keypoints1, Mat img2, vector<KeyPoint> keypoints2, vector<DMatch> matches, ...原创 2020-12-09 17:59:55 · 5559 阅读 · 0 评论 -
【学习OpenCV】基于opencv的直线和曲线拟合与绘制(最小二乘法)
自动驾驶工具箱-车道保持辅助与车道检测 最小二乘法多项式曲线拟合,是常见的曲线拟合方法,有着广泛的应用,这里在借鉴最小二乘多项式曲线拟合原理与实现的原理的基础上,介绍如何在OpenCV来实现基于最小二乘的多项式曲线拟合。概念最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。原理给定...原创 2020-12-09 17:58:03 · 14188 阅读 · 2 评论 -
[学习SLAM] 3D可视化 只viz模块和pangolin
viz模块主要用于3D可视化显示。首先看个简单示例程序,创建一个窗口并显示坐标系: //创建可视化窗口 viz::Viz3d window1("window1"); //构造一个坐标系,并显示到窗口中 window1.showWidget("Coordinate", viz::WCoordinateSystem()); //开启永久循环暂留 window1.spin();第一句,创建窗口。很简单,类型为Viz3d类型,参数为窗口名称。第二句,在窗原创 2020-12-04 16:43:45 · 2345 阅读 · 1 评论 -
[学习opencv]linux与ROS下的opencv与python的互坑过程
error while loading shared libraries: libopencv_core3.so.3.3: cannot open shared object file: No such file or directory解决:使用命令locate libopencv_core3.so.3.3查找文件位于位于:/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_core3.so.3.3把/x86_64-linux-gnu/下...原创 2020-08-17 15:17:08 · 514 阅读 · 0 评论 -
【计算机视觉】SURF SIFT ORB三种特征检测算法比较
我们知道,双目立体测距的基础是利用视差求距离,而视差就是计算左右图像中对应点的像素坐标之差,这个左右图中的对应点是由通过立体匹配得来。立体匹配从大的方面说分为两种,全局匹配和局部匹配,全局匹配精度高,但是计算速度慢,不能满足实时的要求,局部匹配速度快,可以满足实时的要求,但是精度不如前者,考虑到项目实际,需要实时的判断机器人与环境的关系,就重点研究局部匹配。局部匹配又分为基于区域的匹...原创 2020-02-24 10:40:28 · 629 阅读 · 0 评论 -
[学习opencv]基于OpenCV的四元数、旋转矩阵和欧拉角互相转换
这部分代码我摘自于goog...转载 2020-01-06 10:25:25 · 4417 阅读 · 0 评论 -
[学习OpenCV] Moment矩,轮廓特征,轮廓匹配,形状匹配 -2
Moment矩,Hu不变矩,轮廓匹配/形状匹配 -1 Moment矩,轮廓特征,轮廓匹配,形状匹配 -2目录Moment矩,Hu不变矩,轮廓匹配/形状匹配 -1 轮廓的基本概念与函数介绍轮廓的基本概念轮廓提取的基本原理:边缘检测和轮廓提取的区别:OpenCV轮廓提取相关函数介绍1.轮廓提取2. 多边形逼近3. 几何距计算提取与绘制轮廓API说明...转载 2018-12-18 10:34:41 · 16582 阅读 · 5 评论 -
[学习opencv]opencv CommandLineParser类功能解释 参数交互 keys指针
CommandLineParser这个类,那么这个类到底有什么作用呢,从命名大概可以猜出这是个命令行解析类。因为我们知道opencv是一个开源库,所以其很少有图形操作方面的api,基本上还是基于命令行执行的。那么这个类的出现主要是方便用户在命令行使用过程中减少工作量。 大概可以看出来用这个类的好处就是很方便,因为以前版本没这个类时,如果要运行带参数的.exe,必须在命令行中输入文件路径以...原创 2018-10-24 14:43:41 · 2285 阅读 · 1 评论 -
[学习opencv]Surface Matching之PPF Point Pair Feature 点对特征
https://docs.opencv.org/3.3.1/d9/d25/group__surface__matching.html表面匹配简介具有3D结构感觉能力的相机和类似设备正变得越来越普遍。 因此,使用深度和强度信息来匹配3D对象(或部件)对于计算机视觉至关重要。 应用范围从工业控制到指导视障人士的日常行为。 范围图像中的识别和姿势估计的任务旨在通过将所查询的3D自由形式对象与所获...翻译 2018-10-15 12:20:58 · 11458 阅读 · 0 评论 -
[学习slam]基于opencv卡尔曼滤波(KalmanFilter)理论与实践
参考 https://en.wikipedia.org/wiki/Kalman_filter背景: 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。 目前,卡尔曼滤波已经有很多不同...原创 2019-07-03 14:14:04 · 1455 阅读 · 0 评论 -
【学习opencv】opencv : 边缘区域去除 VS 边界扩展copyMakeBorder
边缘区域的定义:图像上的一个区域位于边缘。如下图所示: 标号1 为一个边缘区域 现在希望可以将图像中的边缘区域去除。一个简单的思路如下: 遍历图像上下左右四条边界上的像素。设置一个计数器和一个最小边界阈值。当边界满足要求的像素个数大于阈值,就作为一个待处理区域。并选取其中一个坐标点作为种子点进行满水填充为0。代码如下:// 边缘区域去除1.cpp : 定义控制台应用程序的入口点...原创 2018-04-28 14:30:32 · 6432 阅读 · 1 评论 -
ubuntu-Linux中安装opencv-3.3.1
Linux中安装opencv-3.3.1https://docs.opencv.org/3.3.1/d7/d9f/tutorial_linux_install.html在ubuntu16.04中安装opencv3.3.1的过程中踩了许多坑。一开始直接安装还挺顺利但运行程序时总是提示libgtk2.0-dev和pkg-config没有安装,在安装这两个包的过程中也不顺利。这里推荐一个安装顺序,避免出...转载 2018-06-25 13:09:33 · 3320 阅读 · 0 评论 -
【学习OpenCV】opencv:从文件中批量读取图片(百度文库)
绪:在相机标定,图片训练,机器学习,人脸识别中,需要涉及到批量处理图片的问题;本经验主要介绍3种批量读取图片的方法:一:通过命名规律直接读取;二:采用文本文件进行批量读取;三:由库函数读取图片;、参考 https://jingyan.baidu.com/article/7f41ecec2b1e1e593d095c02.html方法/步骤1方法一:以一定规律命名的图像,通过stringstre...转载 2018-04-28 14:35:58 · 469 阅读 · 0 评论 -
【学习OpenCV】用opencv绘制图形轮廓并筛选面积操作
findcontours和drawcontours2个算子//! retrieves contours and the hierarchical information from black-n-white image.CV_EXPORTS_W void findContours( InputOutputArray image, OutputArrayOfArrays contours, ...转载 2018-04-28 14:32:01 · 2571 阅读 · 1 评论 -
【学习OpenCV】OpenCV漫水填充算法(Floodfill)
OpenCV漫水填充算法(Floodfill)参考文章链接: http://blog.csdn.net/poem_qianmo/article/details/28261997一、引言 · 漫水填充的定义漫水填充法是一种用特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析,也可以用来从输入图...转载 2018-04-28 14:31:38 · 1276 阅读 · 0 评论 -
【学习OpenCV】OpenCV中查找表修改像素与LUT用法(阈值分割)
参考 https://blog.csdn.net/qq_23968185/article/details/512820491、查找表之前我在OpenCV中图像遍历与像素操作中有提到过查找表遍历图像的API函数cv::LUT,鉴于其大巧于内的美感[笑],特意写一篇博客探讨一下。从数学上来看查找表是一个简单的一对一或多对一的函数,定义了如何将像素转换为新的值。从数据的组织关系上来看,查找表是一维或多维...转载 2018-04-28 14:30:55 · 714 阅读 · 0 评论 -
【学习OpenCV】OpenCV图像编程实例系列-图像文件批量读取
方法一:以一定规律命名的图像,通过stringstream由int型变换为string型,对图像进行读取;// 批量处理图片.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <opencv2/opencv.hpp>#include <opencv2\imgproc\imgproc.hpp>#include &l...原创 2018-04-28 14:29:59 · 1144 阅读 · 0 评论 -
【学习OpenCV】opencv 2.4 版本共100个自带例子
OpenCV 自带例程总结http://lv.xiao.yu.blog.163.com/blog/static/5419127320138191291534/opencv 2.4.4版本共100个自带例子。parter 1:No1. adaptiveskindetector.cpp利用HSV空间的色调信息的皮肤检测,背景不能有太多与肤色相似的颜色。效果不是特别好。No2. bagofwords_c...转载 2018-04-28 14:29:36 · 1234 阅读 · 0 评论 -
【图像处理】图像滤波去噪声——均值滤波、中值滤波、对称均值滤波 低通滤波 高通滤波(opencv)
概述噪声对图像处理的影响很大,它影响图像处理的输入、采集和处理等各个环节以及输出结果。因此,在进行其它的图像处理前,需要对图像进行去噪处理。从统计学的观点来看,凡是统计特征不随时间变化的噪声称为平稳噪声,而统计特征随时间变化的噪声称为非平稳噪声。幅值基本相同,但是噪声出现的位置是随机的,称为椒盐噪声;如果噪声的幅值是随机的,根据幅值大小的分布,有高斯型和瑞利型两种,分别称为转载 2018-01-19 23:10:15 · 25280 阅读 · 0 评论 -
【学习opencv】透视变换 Perspective Transformation/仿射变换
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。通用的变换公式为:u,v是原始图片左边,对应得到变换后的图片坐标x,y,其中。变换矩阵可以拆成4部分,表示线性变换,比如scaling,shearing和ratotion。用于平移,产生透视变换。原创 2018-01-19 22:37:45 · 2846 阅读 · 0 评论 -
【学习OpenCV】ubuntu下通过cmake安装和配置opencv3.3.0
Linux下使用OpenCV 参考官方教程https://docs.opencv.org/3.3.1/d7/d9f/tutorial_linux_install.html 安装依赖 [compiler] sudo apt-get install build-essential[required] sudo apt-get install cmake git...原创 2018-06-25 12:24:44 · 4640 阅读 · 0 评论 -
ubuntu下卸载opencv.....opencv2.4.9和opencv3.1.0的共存
ubuntu下卸载opencv在ubuntu下删除opencv的步骤如下:1)进入opencv的源代码文件夹下的release(这是你在安装opencv时候自己命名的,cmake时候所在的目录)2)依次执行下面的代码make uninstallcd ..sudo rm -r releasesudo rm -r /usr/local/include/opencv2 /usr/local/inc...转载 2018-06-25 13:08:08 · 1206 阅读 · 0 评论 -
[学习opencv](opencv)去除图像中白的边界干扰
C++- opencv//去除图像中白的边界干扰 way-2速度快 Mat lookUpTable(1, 256, CV_8U); uchar *p = lookUpTable.data; for(int i=0; i<256; i++) { if(i>=240) { p[i]=0; } else { p[i]=i; } } //通过LUT函数实现图像取反 LUT(...原创 2018-06-28 13:17:58 · 7972 阅读 · 1 评论 -
【学习opencv】Win10+VS2015+OpenCv3.2.0+OpenCv_contrib3.2.0+CMAKE3.8.1编译OpenCv源代码
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]Cmake编译opencv contrib部分1 前言2 准备工作3 开始编译4 lib文件列表[cpp] view plain copy/******************************************转载 2018-01-19 22:35:20 · 758 阅读 · 0 评论