Opencv2.0
文章平均质量分 89
恋上蛋炒面
openstack neutron相关工作
展开
-
关于Opencv2.4.x中stitcher类的简单应用
opencv2.4以上版本有stitcher类,可以简单方便的实现图像的拼接,目前只是简单的测试一下stitcher类的拼接功能,也是纠结了好长时间,最终发现是要在链接库中加上opencv_stitching244.lib(对于Release),opencv_stitching244d.lib(对于Debug)才行,不然会出现VS2010编译不成功,错误提示是:1>main.obj : e原创 2013-04-27 17:33:05 · 4168 阅读 · 5 评论 -
opencv2 直方图之calchist函数使用
直方图在图形处理中很常用,直方图可以统计图像的像素特征分布,用于修改图像显示,修改图像内容,通过比较不同图片的直方图可以识别和跟踪特殊纹理的物体和图像,下面先学习怎么计算图像的直方图。 opencv2提供calchist函数可以方便的计算直方图。 calchist函数头文件 #include calchist函数定义://! computes t原创 2013-05-27 15:24:45 · 8477 阅读 · 3 评论 -
角点检测和匹配之Harris与FAST角点检测
这一章主要内容: 1. Harris角点检测 2. FAST特征检测 3. 尺度不变的SURF特征检测 4.SURF检测描述一、引言 在计算机视觉中,特征点或称兴趣点,角点,被广泛应用,即图像的极值点,线段的终点,曲线曲率最大的点或水平、竖直方向上属性最大的点等等。这些特征点是图像很重要的特征,对图像图形的理解和分析原创 2013-07-23 11:52:56 · 15798 阅读 · 1 评论 -
opencv2 使用鼠标绘制矩形并截取和保存矩形区域图像
鼠标操作属于用户接口设计,以前一直使用Qt来做,但是如果只需要简单的鼠标,键盘操作,直接调用opencv库的函数也未尝不可,鼠标操作之前已经接触很多了,在MFC,QT,OpenGL,等等中,理论主要就是两点,一是监控鼠标操作,鼠标点击,移动,松开,然后通过mouse_event识别判断出那一种鼠标的操作,根据不同的操作然后进行处理,二是在主函数中加入鼠标的回调函数,将鼠标操作与程序的窗口绑定。原创 2013-11-20 17:00:23 · 14435 阅读 · 13 评论 -
特征点检测之surf算法
四、尺度不变的SURF特征检测 当我们想匹配不同图像时,经常会遇到图像尺度不同的问题,不同图像中特征点的距离变得不同,物体变成不同的尺寸,如果我们通过修正特征点的大小,就会造成强度不匹配。为了解决这个问题,我们提出一个尺度不变的SURF特征检测,在计算特征点的时候把尺度因素加入之中。SURF与SIFT算法相似,SIFT算法比较稳定,检测特征点更多,但是复杂度较高,而SURF要运算原创 2013-07-24 16:16:20 · 8339 阅读 · 0 评论 -
OpenCV图像像素操作及效率分析
学习OpenCV也几个月了,虽然对OpenCV有些了解,但是感觉基础还是没打实,在这在介绍一下OpenCV的像素操作,以及OpenCV读取图像的格式和读取图像的效率分析。当然文章也有很多没有介绍到的地方,希望大家多多指教,相互交流。 在计算机视觉应用中,对于图像内容的读取分析是第一步,所以学习高效的处理图像是很有用的。一个图像有可能包含数以万计的像素,从根本上说图像就是一系列原创 2013-10-28 17:45:20 · 12197 阅读 · 2 评论 -
基于OpenCV的程序脱离动态链接库运行方法
题目来自OpenCV·China的每周一练:我们在做项目时,通常需要把依赖于opencv,vs(例如vs2005),或者vc(例如vc6.0)的程序,在没有安装相关环境的电脑上去运行。那么现在有哪些方法可以摆脱这些依赖?(提供可行建议即可得10分)http://www.opencvchina.com/thread-1368-1-1.html解决方法:首先要明转载 2014-02-25 17:42:14 · 5548 阅读 · 0 评论 -
并查集(disjoint set)结构介绍
1.简述 在实现多图像无序输入的拼接中,我们先使用surf算法对任意两幅图像进行特征点匹配,没对图像的匹配都有一个置信度confidence参数,来衡量两幅图匹配的可信度,当confidence>conf_threshold,我们就认为这两幅图可以拼接,属于一个全景拼接的集合,然后扩展这个集合就可以确定最大的可拼接集合,排除一些无效的图像,然后进行后续的拼接。 并查原创 2014-03-05 14:04:51 · 6649 阅读 · 0 评论 -
opencv之仿射变换
http://www.cnblogs.com/shijibao001/articles/1225962.html原创 2014-05-05 11:35:52 · 6581 阅读 · 0 评论 -
opencv2.4.9中stitching_detailed源码环境搭建
一、序言 Opencv中提供Stitcher类,实现了多图像自动拼接,Opencv是开源的,程序实现的源代码都在Opencv安装文件中,以及Opencv提供的函数查询手册和Opencv教程都可以在官网上下载的到,通过这些文档和代码,我们可以很容易就对图像拼接有一个深刻的了解。所以下面,我就教大家怎么把stitcher类的实现源码以及sample的程序变成自己的,随原创 2014-05-07 14:48:15 · 6696 阅读 · 7 评论 -
opencv静态编译
一、序言 使用opencv库编译程序,原创 2014-06-18 17:08:47 · 4056 阅读 · 0 评论 -
OpenCV2.4.5 + QT4.8.4 + VS2010 环境搭建
忙乎了好几天终于把环境搭建成功,中间经历了好多纠结的情况,原因都是因为网上的资料都是比较老的版本搭建平台的资料,新版本出来,某些设置需要改一下,所以就耽误了不少时间!今天写个博客把这个过程记录下来,自己以后可以参考,同时也给大家学习提供参考(环境与操作系统无关,Win7和Xp配置相同)。 一、准备工作做好!下载软件和OpenCV库 OpenCV库,目前最新版本2.原创 2013-04-15 11:47:38 · 25641 阅读 · 20 评论 -
二值形态学(膨胀,腐蚀,开启,关闭)的opencv实现
一、opencv几个形态学函数定义 形态学函数的头文件:#include 函数定义如下://! erodes the image (applies the local minimum operator)CV_EXPORTS_W void erode( InputArray src, OutputArray dst, InputArray kernel,原创 2013-06-08 13:44:06 · 3889 阅读 · 0 评论 -
opencv将图片分成多个256*256像素的小图片
想将一张大图片分成256*256像素的多个小图片,网上搜了很多资料,知道opencv的API中没有这样的函数,只能自己实现。实现程序环境:opencv版本:opencv2.4.4编译环境:vs2010操作系统:xp我的实现方法有4步: 1)将图片转化为长宽都是2的幂次的图片,使用resize函数。(根据本文的图片素材,转化成4096*2048像素)原创 2013-04-28 17:53:09 · 5770 阅读 · 2 评论 -
opencv2实现分水岭分割算法
一、分水岭算法简介 分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极原创 2013-06-03 07:26:09 · 4221 阅读 · 2 评论 -
利用形态学检测边缘和角点
一、引言 形态学滤波器可以用于检测图像的不同特征,这一节,我们介绍利用形态学检测灰度级图像的边缘和角点。二、原理介绍 形态学还是将图像的灰度级看成地理里面的“等高线”,亮的地方看成山峰,暗的地方看成低谷,中间部分就是峭壁。形态学中的腐蚀(eroded),会把山谷扩展,峭壁减少;相反的,膨胀(dilated)会把山谷减少,峭壁扩展。在两种情况下,中间(大原创 2013-06-14 12:23:17 · 2451 阅读 · 0 评论 -
threshold —— opencv阈值操作
一、阈值操作的作用 阈值操作属于像素级处理。在灰度图像中,每个像素都有一个灰度值,我们可以对灰度值设置阈值,像素与阈值比较,来实现对图像进行灰度较小和较大的噪声滤波处理,或者突出图像与背景的灰度差等等功能。二、阈值函数 threshold 介绍 头文件: #include 函数定义://! applies fixed threshold to t原创 2013-06-17 12:29:11 · 12987 阅读 · 0 评论 -
opencv2.4.5正确调用SurfFeatureDetector,SiftFeatureDetector
在以前版本中,surf和sift算法都是在头文件#include 中,但在新的opencv版本出来后,如果仍然使用这个头文件就会出现编译错误如下: 1> interestPoints.cpp1>d:\visual studio 2010\exercises\opencv2\myinterestpoints\interestpoints.cpp(135): error C2039:原创 2013-07-18 14:31:43 · 14707 阅读 · 15 评论 -
Sobel滤波,Laplace滤波介绍与opencv实现
四、高通滤波器 前面一章介绍了使用内核矩阵实现低通滤波器,这个滤波器能够删除或者减弱高频分量。这本节中,我们将介绍相反转换的增加高频分量的方法,也就是高通滤波器。主要用于边缘的检测。4.1 Sobel函数 opencv中提供了函数cv::Sobel,利用矩阵卷积方法 近似 实现方向导数的计算。 函数头文件:#include原创 2013-07-16 13:55:56 · 7136 阅读 · 1 评论 -
直线拟合,图像组件轮廓的检测和计算机描述
四、直线拟合 在一些应用,不仅要求检测出图像中的直线,还要求对图像中的直线精准的估计出位置和方向。下面我们将介绍通过一些点找出最适合的直线。 直线拟合的主要原理是,最小二乘法,即计算各点与直线的最小距离。 我们选择前面通过概率霍夫变换(cv::HoughLinesP)求出的第一个线段为实例,与Canny算子实现出的边缘按位与,得到一系列边缘点,程原创 2013-07-18 10:06:13 · 2630 阅读 · 0 评论 -
二值形态学(膨胀,腐蚀,开启,关闭)的数学概念介绍
1.引言 形态学一般指生物学中研究动物和植物结构的分支。数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具。他的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的数学基础和所用的语言是集合论。数学形态学的应用可以简化图像数据,保持他们基本的形状特征,并出去不相干的结构。数学形态学的算法有天然的并行实现的结构。原创 2013-05-29 17:58:32 · 5842 阅读 · 0 评论 -
归一化滤波,高斯滤波,非线性滤波及图像金字塔介绍与应用
一、滤波器简介 滤波器是信号和图像处理的最基础的处理。用于删除噪声,突出感兴趣的区域,允许图像重采样等等。滤波是在信号与系统原理中发现的,比较重要的概念就是频域,高频是指变化比较快的像素,低频是变化相对慢的像素。例如一个图像中,变化微弱的蓝天白云就是低频,而拥挤的街道,还有很多小物体,颜色变化复杂,就属于高频。因此,对图像的频域处理是不同于空域的另一种处理方法。原创 2013-06-17 17:11:59 · 6583 阅读 · 0 评论 -
Canny算子,Houng变换检测图像轮廓,直线等图像元素
主要内容: 1. 通过Canny算子检测图像轮廓 2. Hough变换检测图像中的直线 3.通过一系列点拟合直线 4.检测组件的轮廓 5. 组件轮廓的描述一、引言 为了能执行对图形基本内容的分析,从由一系列像素组成的图像中检测出有意义的特点来是有必要的,例如轮廓,直线,斑点等图像的基本组件。本节将原创 2013-07-16 17:51:01 · 5738 阅读 · 1 评论 -
stitching_detail算法介绍
一、stitching_detail程序运行流程 1.命令行调用程序,输入源图像以及程序的参数 2.特征点检测,判断是使用surf还是orb,默认是surf。 3.对图像的特征点进行匹配,使用最近邻和次近邻方法,将两个最优的匹配的置信度保存下来。 4.对图像进行排序以及将置信度高的图像保存到同一个集合中,删除置信度比较低的图像间的匹配,得到能原创 2014-09-23 19:08:37 · 27420 阅读 · 37 评论