自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (7)
  • 收藏
  • 关注

原创 Opencv学习——LSD直线检测

OpenCV3版本之后加入了LSD直线检测功能,相比Hough直线检测,LSD能够获得更加理想的效果,具体可以参考文献的主页,包括了文献、代码和演示效果。 http://www.ipol.im/pub/art/2012/gjmr-lsd/LSD原理简单介绍LSD是一种局部直线检测方法,速度较快,LSD算法通过对图像局部分析,得出直线的像素点集,再通过假设参数进行验证求解,将像

2018-01-09 20:00:19 11618 3

原创 光条中心线提取-Steger算法(基于Hessian矩阵)

采用结构光进行扫描检测时,需要提取激光条纹的中心线,本文采用经典的Steger算法提取光条中心。Steger算法原理Steger算法基于Hessian矩阵,能够实现光条中心亚像素精度定位:首先通过Hessian矩阵能够得到光条的法线方向,然后在法线方向利用泰勒展开得到亚像素位置。 对于图像中激光条纹上的任意一点(x,y)(x,y) ,Hessian矩阵可以表示为: H(x,y)=[r

2018-01-07 19:37:46 37057 38

原创 数据结构算法——双向链表

双向链表与单链表相比,各个节点多了一个指向前一个节点的指针,即一个节点有一个指向前驱的指针和指向后继的指针。本文将主要介绍双向链表的基本操作,包括正向遍历链表,反向遍历链表,查找链表中的元素,节点的插入,节点的删除等操作。

2017-10-29 11:54:50 747

转载 数据结构算法——单链表及其操作

单链表是一种非常常用的数据结构,虽然很简单,但是其相关操作还是很容易出错。本文将介绍单链表的几种操作,主要包括链表的反转,链表的排序,求出链表倒数第 k 个值,删除当前节点和找出链表的中间节点。

2017-10-17 18:11:57 713

原创 Opencv学习——图像融合

Opencv相关函数:C++: void seamlessClone(InputArray src, InputArray dst, InputArray mask, Point p, OutputArray blend, int flags)图像融合基本原理:泊松克隆,与图像的梯度和散度相关,具体的原理可查看 http://blog.csdn.net/hjimce/article/detail

2017-10-08 11:06:09 2548

原创 Opencv学习——图像分割之分水岭算法

分水岭算法是比较经典的图像分割算法。最近看到一副区域检测和统计的图像,感觉可以通过分水岭算法进行实现,于是顺便对opencv的分水岭算法进行学习。由于示例是python的代码,没有C++的代码,所以打算先用C++实现示例中的功能,然后再对本文开头的图像进行分割。

2017-09-03 10:54:04 15896 3

原创 图像清晰度评价

图像清晰度是衡量图像质量的一个重要指标,对于相机来说,其一般工作在无参考图像的模式下,所以在拍照时需要进行对焦的控制。对焦不准确,图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标,控制镜头与CCD的距离,使图像成像清晰。一般对焦时有一个调整的过程,图像从模糊到清晰,再到模糊,确定清晰度峰值,再最终到达最清晰的位置。

2017-08-31 09:22:13 13717 1

原创 机器人与变位机协调轨迹仿真

复杂空间轨迹的焊接一般需要变位机的参与,加入变位机能够尽量保证焊缝处于船型焊状态,有利于焊缝成型。本文通过机器人与变位机的耦合关系,分析变位机与机器人的协调运动,并对空间相贯线进行仿真。

2017-08-30 22:07:28 4346 1

原创 简单的opencv GUI库

对图像进行处理时通常需要调整函数的参数,特别是像边缘检测或者是图像亮度调节等操作,常常需要经过多次调节才能得到满意的结果。而每次要重新设置参数都需要重新更改程序中的代码,opencv也有自带的gui,不过一直觉得很不好用,今天发现了一个非常简单的gui库:cvui,只需要包含一个头文件,并且是跨平台的,不需要附属其他文件,非常方便。

2017-08-25 20:11:50 5549 1

原创 数字图像处理之图像直方图

图像直方图反映了图像像素分布的统计特性,是图像处理中简单有效的工具。本文主要包括图像直方图计算,直方图均衡和直方图规定化三个部分。

2017-07-31 21:02:52 3194 1

原创 图像采集及处理多线程编程

本文介绍MFC中图像采集及图像处理的多线程编方法。创建了三个线程,分别为图像采集、图像处理及图像显示线程。线程之间的共享数据有保存的图像链表和图像处理结果存储结构。

2017-07-15 22:32:15 4220 1

转载 Socket编程

本文主要介绍项目使用的TCP/IP通信。 TCP/IP协议族,四个抽象层应用层:TFTP,HTTP,SNMP,FTP,SMIP,DNS,Telnet等; 传输层:TCP,UDP; 网络层:IP,ICMP,OSPF,EIGRP,IGMP, 数据链路层:SLIP,CSLIP,PPP,MTUSocket:

2017-06-26 09:05:35 531

原创 数字图像处理之灰度变换

灰度变换是图像处理技术中的最简单的技术。 图像增强常用的三类基本函数: 1. 线性函数(反转和恒等变换) 2. 对数函数(对数和反对数变换) 3. 幂律函数(n次幂和n次根变换)基本灰度变换函数如图: 直方图处理

2017-06-24 22:40:20 10176

原创 Opencv学习——Opencv与Visual studio配置

本文介绍的是一次性配置,不再需要每次创建一个新工程都配置一遍了。本文内容主要摘录自我早期的网易博客,差不都有两年时间了,现在搬到csdn上,便于后续查看。本文还是采用opencv2.4.10+Visual studio2010+win64,其他版本大同小异。

2017-06-14 19:17:58 1568

原创 Opencv学习——图像阈值化

图像阈值化是最常用的图像处理方法,在很多领域应用广泛,机器视觉中产品的识别和定位中往往需要采用阈值处理使产品的特征更加明显,易于后续的处理。 本文主要介绍两种阈值处理方法即全局阈值化和局部阈值化。

2017-06-04 18:34:20 758

原创 Opencv学习——仿射变换和透视变换

仿射变换是一种二维坐标之间的变换,变换前后保持图形的平直性和平行性。仿射变换可以理解为是向量经过一次线性变换和一次平移变换。 透视变换可以看做是二维与三维坐标之间的变换,变换前后没有了仿射变换的特性。其实仿射变换是透视变换的一种特殊形式。

2017-05-30 11:47:19 3636

转载 Opencv学习——图像滤波

Opencv滤波方法介绍。主要包括三种线性滤波器和两种非线性滤波器

2017-05-29 15:31:00 912

原创 C++笔记(一)

数据初始化: (1)int num = 5; //直接赋值 (2)int num(5); //C++初始化方式 单值初始化也可以采用大括号: int emus{7}; int rheas = {12}; int rocs = {}; int psychics{};数组初始化:只能在定义的时候进行初始化 (1)int cards[4] = {1,2,3,4}; (2)int

2017-05-19 14:16:28 542

原创 Kalman滤波器

卡尔曼(kalman)滤波器是一种线性滤波器,主要涉及到5个公式,包括预测部分(Predict)和更新部分(Update)。卡尔曼滤波器中加入了不确定性的估计和更新,使得其比较适合实际应用。

2017-05-15 20:15:54 782

原创 Opencv学习——Mat矩阵操作

Opencv2出现以后图像的操作可以不用再用指针的形式啦,用Mat类矩阵能够很方便的进行矩阵运算。Mat类包含两部分:矩阵头和指向矩阵像素值的指针。一般复制操作只是复制了矩阵头和指向矩阵的指针,并不会复制矩阵本身的数据。一些基本操作如下:Mat A, C; //只创建了矩阵头A = imread(argv[1], CV_LOAD_IMAGE_COLOR); //创建方法

2017-05-06 17:36:58 2256

原创 Opencv学习——图像及视频读取

Opencv的图像读取有C和C++接口的,由于C接口涉及到指针操作,需要对指针进行管理。而C++接口就比较简单了,本文也主要以C++接口来进行图像操作。Opencv2.0版本后新增了Mat操作,相比之前的版本简单了很多。读取一张图片的函数类似于matlab的方式。//图像读取#include #include using namespace std;using namespace

2017-04-30 16:39:26 1745

原创 轨迹平滑方法

本文主要处理三维空间序列点,对于二维序列点也同样适用。主要介绍一下几种平滑方式,并针对三维轨迹进行平滑处理:1. 滑动平均平滑(Moving average): 邻域内的数据点做平均代替邻域的中心点值,除了一般滑动平均,还有加权滑动平均和指数滑动平均。2.Savitzky-Golay滤波(SG滤波):基于局域多项式最小二乘法拟合的滤波方法拟合多项式:

2016-11-23 20:49:51 33572 8

原创 matlab机器人工具箱学习

选了机器人的课,作业需要用matlab机器人工具箱robotic toolbox。作业要求是搭建一个机械臂,然后在工作空间某个平面内写一个字,涉及到机器人的轨迹规划,求逆解。步骤:1. 搭建四轴scara机器人:DH模型iαadΘ102250Θ1201750Θ2300d0

2016-08-30 14:33:06 5740 4

原创 空间直线最小二乘拟合

空间直线标准方程:转化为射影式方程:可以对两个方程分别进行拟合。令:其中求出a,b,c,d即可。代码如下:data = load('data.txt');data = data';L=length(data(1,:));x=data(1,:);y=data(2,:);z=data(3,:);F=[z;1 1 1 1 1 1 1 1 1 1 1]

2016-08-20 17:41:18 6111 3

原创 halcon+大恒水星相机图像采集

大恒水星相机自带开发包,安装好相机的驱动后就可以打开vs查看里面的源码了。不过为了方便开发,打算直接使用halcon的接口进行图像的采集。开始采用了halcon10+VS2010+win10的系统配置,但是安装相机驱动后能够检测到相机,但是总是无法采集图像,提示错误。而换到win7系统就可以使用安装的大恒的图像采集软件了。所以就装了一个win7的双系统。使用halcon10的图像采集助手

2016-08-16 19:57:11 7892 1

原创 Win10安装Win7双系统过程

最近需要做与双目视觉相关的项目,选择了大恒的水星相机,但是安装了相机的驱动无法打开相机,换了一台win7系统的相机就能装了,猜想估计是win10系统的原因或者是本身系统夹杂了很多未知的文件导致的,由于win10的系统里面有很多需要使用的软件,不想重装系统了,于是就打算安装一个双系统完成这个项目。由于我的电脑预装的是win8系统,然后升级到win10系统,可以搜索http://www.iruanmi

2016-08-05 14:56:03 13384

LSD-直线检测源码

LSD直线检测源码,VS2015+opencv,创建新项目,添加头文件,c和cpp文件,编译后可直接运行。

2018-01-09

立体匹配ZNCC

关于立体匹配的算法,配有测试的图片,通过插值的方法获得比较稠密的视差效果。

2015-03-26

图像立体匹配和三维重建软件

由国外制作的一款立体匹配和三维重建的软件,下载后安装即可使用。可以得到图像对的视差图以及根据视差图进行的三维重建结果,相关参数可以自行设置。不过没有源码,但是可以体验一下。

2015-03-26

三维重建关键点检测

基于计算机视觉的三维重建技术中关键点的检测问题,英文文档,比较好的资料

2015-03-11

harris角点检测-经典论文

harris角点检测的经典论文,对原论文感兴趣的可以下载。

2015-01-19

机器人学及其控制

英文版的机器人学,介绍的很详细,方便喜欢原版的人看。

2014-10-18

西北工业出版《机械原理》第七版课后答案

西工大机械原理第七版课后答案.详细答案,课后习题。

2014-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除