
图像处理
文章平均质量分 79
苏源流
从事计算机视觉和SLAM领域,2012年10月“全国大学生数学建模竞赛”二等奖(数学应用能),2011年攻读 自动化 专业,2015年攻读“模式识别与智能系统” 专业。现在主要工作内容无人驾驶方面的视觉定位与导航,能够提供整体的地下车库自动泊车定位解决方案,该方案也适用于工业园区泊车,物流机器人,园区巡视机器人,餐饮配送、服务机器人等。本人熟悉linux下ROS环境,掌握opencv中2/3的功能,掌握视觉SLAM中ORB_SLAM2,激光lidar的loam。熟悉摄像机,激光雷达,惯导IMU等传感器的使用与开发。主导和参与多个定位项目,欢迎交流。致力于推进技术的应用,技术改变生活。不做无脑人
展开
-
【智慧城市】交通路口摄像头转俯视图
原创 2021-04-19 15:18:20 · 651 阅读 · 1 评论 -
[学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 · 2933 阅读 · 0 评论 -
【学习OpenCV】基于opencv的直线和曲线拟合与绘制(最小二乘法)
自动驾驶工具箱-车道保持辅助与车道检测 最小二乘法多项式曲线拟合,是常见的曲线拟合方法,有着广泛的应用,这里在借鉴最小二乘多项式曲线拟合原理与实现的原理的基础上,介绍如何在OpenCV来实现基于最小二乘的多项式曲线拟合。概念最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。原理给定...原创 2020-12-09 17:58:03 · 16468 阅读 · 2 评论 -
【学习OpenCV】OpenCV中查找表修改像素与LUT用法(阈值分割)
参考 https://blog.youkuaiyun.com/qq_23968185/article/details/512820491、查找表之前我在OpenCV中图像遍历与像素操作中有提到过查找表遍历图像的API函数cv::LUT,鉴于其大巧于内的美感[笑],特意写一篇博客探讨一下。从数学上来看查找表是一个简单的一对一或多对一的函数,定义了如何将像素转换为新的值。从数据的组织关系上来看,查找表是一维或多维...转载 2018-04-28 14:30:55 · 758 阅读 · 0 评论 -
{畸变矫正}图像去畸变opencv各种方法与matlab各种方法-联合分析(一统江湖)
opencv 畸变矫正分析参考 https://docs.opencv.org/3.3.0/da/d54/group__imgproc__transform.html#ga69f2545a8b62a6b0fc2ee060dc30559d理论分析方法一undistort() 与matlab标定去畸变显示相同undistort()void cv::undistort ...原创 2018-07-14 15:00:15 · 28228 阅读 · 6 评论 -
【位姿测量】可能影响畸变参数的若干因素
1 镜头焦距与畸变镜头畸变实际上是光学透镜固有的透视失真的总称,这是透镜的固有有特性(凸透镜汇聚光线、凹透镜发散光线),所以无法消除,只能改善。一般情况下,定焦镜头焦距越长畸变越小,而焦距越短畸变就越大,这是一个普遍的规律。结论1:5mm镜头制作的凸透镜较凸,畸变相比长焦镜头就较大。2 标的板到相机的距离与畸变使用同一尺寸标定板,其到相机距离越大,标定的畸变误差越大 说明 在定板其到相机距离约3...原创 2018-05-25 11:17:19 · 3401 阅读 · 3 评论 -
【学习OpenCV】OpenCV漫水填充算法(Floodfill)
OpenCV漫水填充算法(Floodfill)参考文章链接: http://blog.youkuaiyun.com/poem_qianmo/article/details/28261997一、引言 · 漫水填充的定义漫水填充法是一种用特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析,也可以用来从输入图...转载 2018-04-28 14:31:38 · 1525 阅读 · 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 · 2670 阅读 · 1 评论 -
【学习OpenCV】给轮廓画出矩形和圆形边界
OpenCV支持大量的轮廓、边缘、边界的相关函数,相应的函数有moments、HuMoments、findContours、drawContours、approxPolyDP、arcLength、boundingRect、contourArea、convexHull、fitEllipse、fitLine、isContourConvex、minAreaRect、minEnclosingCircle...转载 2018-04-28 14:33:28 · 4423 阅读 · 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 · 1283 阅读 · 0 评论 -
关于opencv通过initUndistortRectifyMap函数获取undistort后的对应点的方法
关于opencv通过initUndistortRectifyMap函数获取undistort后的对应点的方法https://blog.youkuaiyun.com/qq_20289205/article/details/78632542关于opencv通过initUndistortRectifyMap函数获取undistort后的对应点的方法 环境与简介 前置代码 Attempt...转载 2018-07-27 11:18:17 · 3257 阅读 · 1 评论 -
图像匹配算法 MAD、SAD、SSD、MSD、NCC、SSDA、SATD,LBD算法
图像匹配算法分为3类:基于灰度的匹配算法、基于特征的匹配算法、基于关系的匹配算法(1)基于灰度的模板匹配算法:模板匹配(Blocking Matching)是根据已知模板图像到另一幅图像中寻找与模板图像相似的子图像。基于灰度的匹配算法也称作相关匹配算法,用空间二维滑动模板进行匹配,不同匹配算法主要体现在相关准则的选择方面,常见的基于模板的匹配算法可以参考下面的链接:参考:http://bl...转载 2018-08-07 14:39:00 · 59436 阅读 · 7 评论 -
[学习OpenCV] Moment矩,轮廓特征,轮廓匹配,形状匹配 -2
Moment矩,Hu不变矩,轮廓匹配/形状匹配 -1 Moment矩,轮廓特征,轮廓匹配,形状匹配 -2目录Moment矩,Hu不变矩,轮廓匹配/形状匹配 -1 轮廓的基本概念与函数介绍轮廓的基本概念轮廓提取的基本原理:边缘检测和轮廓提取的区别:OpenCV轮廓提取相关函数介绍1.轮廓提取2. 多边形逼近3. 几何距计算提取与绘制轮廓API说明...转载 2018-12-18 10:34:41 · 18186 阅读 · 5 评论 -
[学习OpenCV]Moment矩,Hu不变矩,轮廓匹配/形状匹配 -1
目录矩的概念介绍空间矩,中心矩,中心归一化矩,Hu矩空间矩的公式为:中心矩的公式为:归一化的中心矩公式为Hu不变距OpenCV中计算Hu矩的公式为: OpenCV计算矩的函数OpenCV计算矩moments的函数空间矩10个OpenCV中计算Hu矩函数:中心矩/归一化中心矩(7个)示例程序轮廓匹配/形状匹配利用matchShape函数...原创 2018-12-19 19:32:07 · 6717 阅读 · 1 评论 -
【泡泡机器人公开课】公开课链接 机器人俱乐部
1.工业相机选型及介绍-刘富强链接: https://pan.baidu.com/s/1nuGw4Vv 密码: tjag2.深度学习及应用-颜沁睿链接: https://pan.baidu.com/s/1c31ZcE 密码: r42j3.SVO & LSD_SLAM解析 - 贺一家链接: https://pan.baidu.com/s/1mimS6mO 密码: gp7i...转载 2018-11-23 16:28:31 · 15399 阅读 · 0 评论 -
KITTI数据集简介与使用
摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite和Vision meets Robotics: The KITTI Dataset两篇论文的内容,主要介绍KITTI数据集概述,数据采集平台,数据集详细描述,评价准则以及具体使用案例。本文对KITTI数据集提供一个较为详细全面的介绍,重点关注利...转载 2018-09-25 20:41:52 · 2364 阅读 · 1 评论 -
OpenCV的Rect矩形类简介和使用
OpenCV的Rect矩形类用法摘自 https://blog.youkuaiyun.com/kh1445291129/article/details/51149849//如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能:rect.area(); //返回rect的面积 5000rect.size(); //返回rect的尺寸 [5...原创 2018-08-30 10:38:23 · 48593 阅读 · 2 评论 -
模板匹配算法初识
概述模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。算法相关法以8位灰度图像为例,模板T(m,n)叠放在被搜索图S(W,H)上平移,模板覆盖被搜索图的那块区域叫...转载 2018-08-07 14:38:48 · 29655 阅读 · 1 评论 -
【学习opencv】opencv : 边缘区域去除 VS 边界扩展copyMakeBorder
边缘区域的定义:图像上的一个区域位于边缘。如下图所示: 标号1 为一个边缘区域 现在希望可以将图像中的边缘区域去除。一个简单的思路如下: 遍历图像上下左右四条边界上的像素。设置一个计数器和一个最小边界阈值。当边界满足要求的像素个数大于阈值,就作为一个待处理区域。并选取其中一个坐标点作为种子点进行满水填充为0。代码如下:// 边缘区域去除1.cpp : 定义控制台应用程序的入口点...原创 2018-04-28 14:30:32 · 6920 阅读 · 1 评论 -
【计算机视觉】 相机姿态估计之标记检测-检测ChArUco角点3
ArUco标记和板非常有用因为他们的快速检测和多功能性。 然而,ArUco标记的问题之一是,角落的位置的准确性不是太高,即使应用亚像素细分。相反,棋盘模式的角落可以更准确地提炼因为每个角落周围是两个黑色方块。 然而,找到一个棋盘模式不像找到一个通用的ArUco板:它必须是完全可见,遮挡不允许。翻译 2017-06-02 16:38:10 · 8033 阅读 · 4 评论 -
【matlab图像处理】图片生成线条效果(边缘检测)
%单线条效果handles.pic=imread('I:\技术照片\手绘油画\psb (6).jpg');figure,imshow(handles.pic);title('原图效果');handles.pic=rgb2gray(handles.pic);figure,imshow(handles.pic);title('灰度效果');bw=edge(handles.pic,'canny转载 2018-01-04 22:18:16 · 7074 阅读 · 0 评论 -
【matlab图像处理】图片生成伪色彩处理
%伪色彩效果 所谓伪色彩处理,就是将图像中的灰度级经由线性 或非线性变换成不同的彩色。handles.pic=imread('I:\技术照片\手绘油画\QQ图片20160514185650.jpg');handles.pic=rgb2gray(handles.pic); %读入源图像 [M,N]=size(handles.pic);%读取图像的大小 for i=1:M; for原创 2018-01-04 21:44:29 · 5669 阅读 · 1 评论 -
【matlab图像处理】气泡面积与中心检测
clear all;clc;close all;f=imread('2.jpg');figure,imshow(f);fb=im2bw(f,0.34);figure,imshow(fb);f1 = medfilt2(fb,[7 7],'symmetric');figure,imshow(f1)f2 = medfilt2(f1,[6 6],'symmetric');figure,im原创 2018-01-04 22:22:29 · 6408 阅读 · 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 · 795 阅读 · 0 评论 -
【学习opencv】透视变换 Perspective Transformation/仿射变换
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。通用的变换公式为:u,v是原始图片左边,对应得到变换后的图片坐标x,y,其中。变换矩阵可以拆成4部分,表示线性变换,比如scaling,shearing和ratotion。用于平移,产生透视变换。原创 2018-01-19 22:37:45 · 2918 阅读 · 0 评论 -
【图像拼接】遥感影像镶嵌线生成-如何根据影像自身特点生成完整的镶嵌线网络
如何根据影像自身特点生成完整的镶嵌线网络?需要按照如下几点进行设置:1. 自动生成镶嵌线点击“生成镶嵌线”按钮,弹出如下对话框: 处理方式:分为“整个图像”和“有效区域”两种,分别介绍如下:“整个图像”是指图像的所有部分参与自动生成镶嵌线,只有当图像是完整的矩形形状,没有无效区域(比如黑边)时才选择。“有效区域”是指有效的图像范围参与转载 2018-01-19 22:40:52 · 2633 阅读 · 1 评论 -
【图像处理】 常用边缘检测算法对比分析
边缘的定义首先介绍什么是边缘。在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变、纹理结构的图标、颜色的图标等。尽管图像的边缘点产生的原因各不相同,但他们都是图形上灰度不连续或灰度几句辩护的点,图像边缘分为阶跃状、斜坡状和屋顶状。边缘检测的基本方法一般图像边缘检测方法主要有如下四个步骤转载 2018-01-19 23:08:12 · 70903 阅读 · 1 评论 -
【图像处理】图像滤波去噪声——均值滤波、中值滤波、对称均值滤波 低通滤波 高通滤波(opencv)
概述噪声对图像处理的影响很大,它影响图像处理的输入、采集和处理等各个环节以及输出结果。因此,在进行其它的图像处理前,需要对图像进行去噪处理。从统计学的观点来看,凡是统计特征不随时间变化的噪声称为平稳噪声,而统计特征随时间变化的噪声称为非平稳噪声。幅值基本相同,但是噪声出现的位置是随机的,称为椒盐噪声;如果噪声的幅值是随机的,根据幅值大小的分布,有高斯型和瑞利型两种,分别称为转载 2018-01-19 23:10:15 · 27034 阅读 · 0 评论 -
【matlab图像处理】图片生成油画效果(选择路径-交互)
%油画效果function [I_painted]=OilPaint(I_rgb, radius, intensity_level)[filename pathname]=uigetfile({'*.jpg';'*.bmp';'*.*'},'读入文件');pathfile=[pathname filename];handles.pic=imread(pathfile);intensity转载 2018-01-04 22:15:13 · 5689 阅读 · 3 评论 -
【matlab图像处理】图片生成浮雕效果
%浮雕效果 handles.pic=imread('I:\技术照片\手绘油画\psb.jpg');% handles.pic=imread('I:\技术照片\手绘油画\IMG_20160418_083349.jpg');%改为灰度图像 f0=rgb2gray(handles.pic); %加入高斯噪声 f1=imnoise (f0,'speckle',0.01); %加入密度0.01原创 2018-01-04 21:54:56 · 7227 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-检测ArUco板2
ArUco板是一组标记,就像一个标志,它提供了一个单一的姿势相机。最受欢迎的板是一个标记在同一平面上,因为它可以很容易地印刷:然而,板并不局限于这种安排,可以代表任何2 d或3 d布局。板的区别和一组独立的标记,标记之间的相对位置板是已知的先验。 这允许的所有标记可用于估计相机的姿势对整个板。当你使用一组独立的标志,你可以估计每个单独标记的姿势,因为你不知道在环境中相对位置的标记。使用板的主要好处是:· 姿势估计更多功能。 只有一些标记进行姿态估计是必要的。 因此,构成可以计算出即使在遮挡或部分翻译 2017-06-02 16:00:15 · 5283 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-ArUco标记检测1
姿态估计是非常重要的在许多计算机视觉应用程序:机器人导航、增强现实,和许多更多。 这个过程是基于找到对应点之间在现实环境和他们的2 d图像投影。 这通常是一个困难的一步,因此通常使用合成或基准标记使它更容易。最受欢迎的方法是使用二进制广场基准标记。 这些标记的主要好处是一个标记提供了足够的通讯(四角)获得相机的姿势。 同时,内部二进制编纂使他们特别健壮,允许应用错误检测和校正技术的可能性。翻译 2017-06-02 16:03:44 · 18053 阅读 · 2 评论 -
【计算机视觉】 相机姿态估计之标记检测-ArUco钻石标记的检测4
ChArUco标识板和钻石标记,检测是基于前面发现ArUco标记。 ChArUco的情况下,使用标记选择通过直接看他们的标识符。 这意味着如果一个标记(包括在标识板)上发现的一个形象,它会自动认为属于标识板。 此外,如果找到标志板图像中不止一次,它将产生歧义,因为系统无法知道哪一个应该用于标识板。另一方面,钻石标记的检测不是基于标识符。 相反,他们检测是基于相对位置的标记。 因此,标记标识符可以重复相同的钻石或在不同的钻石,他们可以同时检测到没有歧义。 然而,由于发现标记的复杂性,基于他们的相对位置,钻石翻译 2017-06-04 10:54:31 · 3428 阅读 · 0 评论 -
【计算机视觉】结构光——格雷码模式捕获教程1 (代码)
格雷码是一种具有反射特性和循环特性的单步自补码,其循环和单步特性消除了随机取数时出现重大错误的可能,其反射和自补特性使得对其进行求反操作也非常方便,所以,格雷码属于一种可靠性编码,是一种错误最小化的编码方式,因此格雷码在通信和测量技术中得到广泛应用。在本教程中,您将学习如何使用 GrayCodePattern 类:生成一个灰色的代码模式。项目格雷码的模式。捕获投射格雷码图案。重要的是要强调这一点 GrayCodePattern 类实际上实现了3中描述dunderworld算法 [73] 基于立体视原创 2017-07-03 16:14:49 · 10689 阅读 · 2 评论 -
[深度学习之caffe配置] ubuntu下配置caffe框架
平台环境配置--笔记本电脑+双系统的ubuntu16.04+显卡英伟达M740参考网站(1)ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历http://blog.youkuaiyun.com/WoPawn/article/details/52302164(2)Ubuntu16:cmake生成Makefile编译caffe过程(OpenBLAS/CPU+GPU)...原创 2017-08-13 00:22:59 · 1788 阅读 · 0 评论 -
【matlab图像处理】图片生成手绘效果
%% 例10.3 edge 边缘检测 sobelclc,close allclearf = imread('C:\Users\Administrator\Desktop\psb (2).jpg');figure,imshow(f)title('原始图像')f=im2bw(f,0.45);figure,imshow(f)title('二值图像')% d=imcomplement(f原创 2018-01-04 21:52:47 · 4138 阅读 · 0 评论 -
【图像处理】图像滤波5种:方框、均值、高斯、中值、双边
5种图像滤波辨析:方框、均值、高斯、中值、双边线性滤波有方框滤波、均值滤波和高斯滤波;非线性滤波有中值滤波和双边滤波0 邻域滤波(卷积)邻域算子值利用给定像素周围像素的值决定此像素的最终输出。如图左边图像与中间图像卷积禅城右边图像。目标图像中绿色的像素由原图像中蓝色标记的像素计算得到。." style="margin:0px; padding:0px转载 2018-01-20 20:06:58 · 3415 阅读 · 0 评论 -
【学习OpenCV】opencv学习(十五)之图像傅里叶变换dft
学习opencv之图像傅里叶变换dfthttp://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/discrete_fourier_transform/discrete_fourier_transform.html在学习信号与系统或通信原理等课程里面可能对傅里叶变换有了一定的了解。我们知道傅里叶变换是把一个信号从时域变换到其对应...转载 2018-04-26 12:03:13 · 1739 阅读 · 0 评论 -
【学习OpenCV】通过傅里叶变换方法求图像卷积-OpenCV实现
在图像处理中经常会遇到各种滤波(平滑、锐化)的情况,基本方法都是将图像与一个核进行卷积实现。而卷积定理指出,两个函数的卷积的傅里叶变换等于各自的傅里叶变换的乘积,即:[1]那么,两个函数的卷积可以通过如下方式得到,对两个函数傅里叶变换的乘积做傅里叶反变换,即:[1]在进行卷积运算时,一般是将核沿着图像从左到右从上到下计算每一个像素处与核卷积后的值,这样的计算量较大,采用傅里叶变换的方法可以提高运算...转载 2018-04-26 12:03:44 · 586 阅读 · 0 评论 -
【学习OpenCV】Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)
Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)我是做Tracking 的,对于速度要求非常高。发现傅里叶变换能够使用。于是学习之。核心: 最根本的一点就是将时域内的信号转移到频域里面。这样时域里的卷积能够转换为频域内的乘积! 在分析图像信号的频率特性时,对于一幅图像,直流分量表示预想的平均灰度。低频分量代表了大面积背景区域和缓慢变化部分,高频部分代表了它的边缘,细...转载 2018-04-26 12:04:20 · 666 阅读 · 0 评论