随笔分类 -  OpenCV

上一页 1 2 3 下一页
opencv使用方法,源码分析,工程设计
特征点检测学习_2(surf算法)
摘要:在上篇博客特征点检测学习_1(sift算法)中简单介绍了经典的sift算法,sift算法比较稳定,检测到的特征点也比较多,其最大的确定是计算复杂度较高。后面有不少学者对其进行了改进,其中比较出名的就是本文要介绍的surf算法,surf的中文意思为快速鲁棒特征。本文不是专门介绍surf所有理论(最好的理论是作者的论文)的,只是对surf算法进行了下整理,方便以后查阅。 网上有些文章对surf做了介绍,比如: http://wuzizhang.blog.163.com/blog/static/78001208201138102648854/ surf算法原理,有一些简单介绍. ht... 阅读全文
posted @ 2012-08-17 23:51 tornadomeet 阅读(79608) 评论(34) 推荐(8) 编辑
特征点检测学习_1(sift算法)
摘要:sift算法在cv领域的重要性不言而喻,该作者的文章引用率在cv界是number1.本篇博客只是本人把sift算法知识点整理了下,以免忘记。本文比较早的一篇博文opencv源码解析之(3):特征点检查前言1中有使用opencv自带的sift做了个简单的实验,而这次主要是利用Rob Hess的sift源码来做实验,其实现在的opencv版本中带的sift算法也是Rob Hess的,只是稍微包装了下。 首先网上有不少文章介绍了sift算法,写得都不错,比如: http://www.cnblogs.com/cfantaisie/archive/2011/06/14/2080917.html... 阅读全文
posted @ 2012-08-16 22:25 tornadomeet 阅读(43015) 评论(7) 推荐(6) 编辑
opencv源码解析之(6):hog源码分析
摘要:一、网上一些参考资料 在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采用的是hog算法,那么hog算法是怎样实现的呢?这一节就来简单分析一下opencv中自带 hog源码。 网上也有不少网友对opencv中的hog源码进行了分析,很不错,看了很有收获。比如: http://blog.csdn.net/raocong2010/article/details/6239431 该博客对该hog算法中用到的block,cell等概念有一定的图标解释... 阅读全文
posted @ 2012-08-15 20:42 tornadomeet 阅读(76874) 评论(32) 推荐(19) 编辑
目标检测学习_1(用opencv自带hog实现行人检测)
摘要:本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类。其实使用起来是很简单的,从后面的代码就可以看出来。本文参考的资料为opencv自带的sample。 关于opencv中hog的源码分析,可以参考本人的另一篇博客:opencv源码解析之(6):hog源码分析 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5. 实验功能: 单击OpenImage按钮,选择需要进行人检测的一张图片,确定后自动显示出来。该图片的大小没限制。 单击PeopleDetect按钮,则程序会自动对该图片进行行人检测,且... 阅读全文
posted @ 2012-08-03 16:04 tornadomeet 阅读(67409) 评论(17) 推荐(5) 编辑
基础学习笔记之opencv(15):离散傅里叶变换
摘要:本文主要介绍怎样使用opencv来对图片进行傅里叶变换,其核心函数是opencv自带的dft()。DFT这个技术手段是将空间域映射到频率域中去,在图像处理有着举足轻重的地位。这里我们只是得到其变换的结果并看看贫域图有什么特点。 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5 实验功能:单击Open Image按钮,手动选择打开一副图片,不管其是否是彩色图片,这里统一将其转换成灰度图像显示,因为需要加快DFT运算速度。将鼠标移动到图片显示区域,单击图片,这时会显示DFT中间结果图,也就是没有将低频域的点移动到图片的中心而已。显示的图片有... 阅读全文
posted @ 2012-07-26 17:21 tornadomeet 阅读(22236) 评论(0) 推荐(2) 编辑
基础学习笔记之opencv(14):随机数发生器&绘制文字
摘要:本文主要介绍下opencv中自带的一个随机数发生器的类RNG,这里我用这个类来画一些图形,和基础学习笔记之opencv(13):基本绘图 一文中类似,只是 这里画出来图像的坐标,大小,颜色,角度等所有信息都是随机的,且是用RNG这个类产生的。参考文献为opencv自带tutiol及其代码。 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5 实验功能: 1. 该实验可以画6中几何图形和1个文本显示,每种都是画80个,每画完一个延时100ms。 2.打开软件后,默认画的图为直线。可以在软件的左下角Drawing T... 阅读全文
posted @ 2012-07-25 23:58 tornadomeet 阅读(5908) 评论(4) 推荐(1) 编辑
基础学习笔记之opencv(13):基本绘图
摘要:本文主要讲讲怎样用opencv画一些基本图形,这些图形包括,直线,圆,椭圆,多边形等。参考资料为opencv自带tutiol及其code。 开发环境:ubuntu12.04+Qt4.8.2+QtCreator2.5+opencv2.4.2 实验功能: 1.单击Drawing1按钮,将会画出atom图形,并且可以看出该图形成的过程,共分5个步骤画,每画完1个部分会自动停留1s,以便观察,然后画下一个部分,直至完成atom图形。 2.单击Drawing2按钮,将会画出rook图形,并且可以看出该图形成的过程,共分3个步骤画,每画完1个部分会自动停留1s,以便观察,然后画下一个部分,... 阅读全文
posted @ 2012-07-25 16:28 tornadomeet 阅读(15503) 评论(0) 推荐(3) 编辑
基础学习笔记之opencv(12):改变图像对比度和亮度
摘要:本文主要讲讲怎样改变图片的对比度和亮度,其实就是图片像素值线性变化了而已,对比度对应线性变化的系数,亮度对应其常量。参考资料为opencv自带tutiol及其code. 开发环境:ubuntu12.04+opencv2.4.2+Qt4.8.2+QtCreator2.5. 实验功能: 单击Openimage按钮,在电脑中打开一张图片并显示出来。 拖动Contrast滑动条,改变对比度的值,可以看到对比度值的改变过程在滑动条下方显示,左边图片对应为其对比度改变后的效果。 拖动Brightness滑动条,改变亮度值,以看到亮度值的改变过程在滑动条下方显示,左边图片对应为其亮度改变后的... 阅读全文
posted @ 2012-07-24 10:34 tornadomeet 阅读(19091) 评论(0) 推荐(1) 编辑
基础学习笔记之opencv(11):图像混合
摘要:本文主要讲的是怎样将2幅图片叠加,就像电影里面有时候出现的镜头一样,2幅图片可以按照不同比例重叠,当然这里主要是利用opencv自带的函数addWeighted().参考资料为opencv自带tutiol及其代码。 开发环境:ubuntu12.04+opencv2.4.2+Qt4.8.2+QtCreator2.5. 实验功能: 单击Open image1按钮,打开第1幅图片并在左边显示出来。 单击Open image2按钮,打开第2幅图片并在中间显示出来。 在Alpha栏输入第1幅图片在图片混合时所占的比例,这时Beta栏的值也会跟着改变,因为2着的比例之和为1.0. 同理,在... 阅读全文
posted @ 2012-07-23 22:55 tornadomeet 阅读(8086) 评论(0) 推荐(1) 编辑
基础学习笔记之opencv(10):Mat mask操作
摘要:本文主要讲讲怎样对Mat矩阵进行mask操作,其实也就是对Mat矩阵的滤波操作,俗称卷积,参考文献为opencv自带的tutiol及其code. 开发环境:ubuntu12.04+opencv2.4.2+Qt4.8.2+QtCreator2.5. 实验功能: 单击Open image按钮,手动选择所需滤波的原图片。 单击Setting按钮,弹出对话框,选择滤波所用的模式,这里有2种模式,分别为自己实现滤波功能和采用opencv自带的滤波函数filter2D实现。 单击Process按钮,实现图片滤波过程,并将滤波结果显示在图片窗口中。 滤波完成后,图片下方法显示滤波所采用的模式... 阅读全文
posted @ 2012-07-23 18:21 tornadomeet 阅读(14362) 评论(0) 推荐(1) 编辑
基础学习笔记之opencv(9):Mat图像扫描
摘要:本文来讲讲Mat存储的像素该怎么对其进行扫描?扫描的效率又如何? 文章参考opencv自带的tutiol及其code。 实验功能: 可以手动选择打开电脑上的图片。 对4种对Mat矩阵的扫描方法效率进行比较,这4种扫描方法分别为:连续内存直接访问;用迭代器进行访问;直接像素点进行访问;用LUT查找表进行访问;这4种扫描方法可以在菜单栏进行选择。 这些访问完后是将每个访问到的像素点的像素进行压缩,压缩间隔可以在软件的界面中进行修改。 软件的下端显示每种次扫描方法扫描打开的图片所用的平均时间(程序中设定为求100次的平均值) 实验说明: 通过本次实验,下面几点需要... 阅读全文
posted @ 2012-07-22 23:33 tornadomeet 阅读(9654) 评论(1) 推荐(3) 编辑
基础学习笔记之opencv(8):Mat - 基本图像容器
摘要:实验说明: 本文主要讲一些opencv 2.0版本后出现的Mat矩形类,主要是参考opencv自带doc文件夹下的tutiol教材。通过这次实验觉得用Mat的话下面几点需要特别注意(在代码中可以体现出来):利用create函数重新改变Mat数据在内存中的布局。注意多通道数据在Mat中其实也是占一个元素的位置的。学会多维Mat的创建方法。当Mat矩阵比较小时,学会直接赋值的方法,即用Mat_。 5. 掌握Mat矩阵内容输出到终端时的几种常见格式。 6. 注意如果vector是单独一维的话需要转换成Mat才能输出,多维的可以直接输出,例如vector里面存放的是点的话。 开发环境:... 阅读全文
posted @ 2012-07-19 15:33 tornadomeet 阅读(11405) 评论(0) 推荐(2) 编辑
基础学习笔记之opencv(7):ubuntu下opencv在Qt中的使用
摘要:本文的开发环境:ubuntu12.04LTS+QtCreator2.5.0+Qt4.8.2+opencv2.4.2其中Qt的安装方法参考:http://www.linuxidc.com/Linux/2011-02/32536.htmQtCreator的安装方法参考:http://www.linuxidc.com/Linux/2012-06/62607.htmopencv的安装方法参考:http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/以上3个软件均是指在ubuntu下的安装,其中Qt和ope 阅读全文
posted @ 2012-07-10 15:03 tornadomeet 阅读(31094) 评论(9) 推荐(1) 编辑
总结系列_7(opencv2.4.2+vs2010安装简介)
摘要:环境: XP SP3 +32位系统+ VS2010 + opencv2.4.2步骤1: 到这来选择下载 opencv2.4.2.exe .步骤2: 双击exe解压到自己想安装的目录,我这来是解压完后的目录为: C:\ProgramFiles\opencv2.4.2步骤3: 配置环境变量,在系统环境变量和用户环境变量下均配置下面2个环境变量(没有测试过是否2个地方都需要配置) 变量名: 变量值:PATH: C:\Program Files\opencv2.4.2\build\x86\vc10\bin TBB: C:\Program Files\opencv2.4.2\build... 阅读全文
posted @ 2012-07-07 10:32 tornadomeet 阅读(16885) 评论(20) 推荐(1) 编辑
目标跟踪学习笔记_4(particle filter初探3)
摘要:( 注:本文为这学期一个作业,关于粒子滤波的介绍在前面2篇博客中已提到过,即:目标跟踪学习笔记_2(particle filter初探1) 目标跟踪学习笔记_3(particle filter初探2)前面2篇博客已经提到当粒子数增加时会内存报错,后面又仔细查了下程序,是代码方面的问题。所以本次的代码与前几次改变比较小。当然这些code基本也是参考网上的。代码写得很不规范,时间不够,等以后有机会将其优化并整理成类的形式。) Opencv实现粒子滤波算法摘要 本文通过opencv实现了一种目标跟踪算法——粒子滤波算法,算法的思想来源于文献[1][2],且在其思想上稍微做了些修改。其大概过程是:首. 阅读全文
posted @ 2012-06-23 11:01 tornadomeet 阅读(13752) 评论(12) 推荐(3) 编辑
图像分割学习笔记_1(opencv自带meanshift分割例子)
摘要:Meanshift不仅可以用于图像滤波,视频跟踪,还可以用于图像分割。 一般而言一副图像的特征点至少可以提取出5维,即(x,y,r,g,b),众所周知,meanshift经常用来寻找模态点,即密度最大的点。所以这里同样可以用它来寻找这5维空间的模态点,由于不同的点最终会收敛到不同的峰值,所以这些点就形成了一类,这样就完成了图像分割的目的,有点聚类的意思在里面。 有一点需要注意的是图像像素的变化范围和坐标的变化范围是不同的,所以我们在使用窗口对这些数据点进行模态检测时,需要使用不同的窗口半径。因此在opencv自带的meanshift分割函数pyrMeanShiftFiltering()... 阅读全文
posted @ 2012-06-06 19:28 tornadomeet 阅读(54652) 评论(15) 推荐(0) 编辑
前景检测算法_4(opencv自带GMM)
摘要:前面已经有3篇博文介绍了背景减图方面相关知识(见下面的链接),在第3篇博文中自己也实现了gmm简单算法,但效果不是很好,下面来体验下opencv自带2个gmm算法。 opencv实现背景减图法1(codebook和平均背景法) http://www.cnblogs.com/tornadomeet/archive/2012/04/08/2438158.html opencv实现背景减图法2(帧差法) http://www.cnblogs.com/tornadomeet/archive/2012/05/01/2477629.html opencv实现背景减图法3(GMM) http... 阅读全文
posted @ 2012-06-02 10:59 tornadomeet 阅读(31910) 评论(15) 推荐(3) 编辑
前景检测算法_3(GMM)
摘要:摘要 本文通过opencv来实现一种前景检测算法——GMM,算法采用的思想来自论文[1][2][4]。在进行前景检测前,先对背景进行训练,对图像中每个背景采用一个混合高斯模型进行模拟,每个背景的混合高斯的个数可以自适应。然后在测试阶段,对新来的像素进行GMM匹配,如果该像素值能够匹配其中一个高斯,则认为是背景,否则认为是前景。由于整个过程GMM模型在不断更新学习中,所以对动态背景有一定的鲁棒性。最后通过对一个有树枝摇摆的动态背景进行前景检测,取得了较好的效果。关键字:GMM,opencv,前景检测前言 前景检测主要分为帧差法,平均背景法,光流法,前景建模法,背景非参数估计,背景建模法等。而.. 阅读全文
posted @ 2012-06-02 09:37 tornadomeet 阅读(36508) 评论(19) 推荐(7) 编辑
基础学习笔记之opencv(6):实现将图片生成视频
摘要:在做实验的过程中,难免会读视频中的图片用来处理,相反将处理好的图片又整理输出为一个视频文件也是很常用的。下面就来讲讲基于opencv的C++版本中图片输出视频是怎么实现的。 本次试验的数据为摇摆的树枝树叶图片,Waving Trees,其来源网址为: http://research.microsoft.com/en-us/um/people/jckrumm/WallFlower/TestImages.ht 该数据全由bmp图片组成。 本次试验的工程环境为:opencv2.3.1+vs2010 实验功能:将多张bmp彩色图片生成一个avi格式的灰度视频文件。 在试验过程中,需要注意一下... 阅读全文
posted @ 2012-06-02 09:13 tornadomeet 阅读(16514) 评论(7) 推荐(1) 编辑
本人常用资源整理(ing...)
摘要:Deep Learning(深度学习):ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):二Bengio团队的deep learning教程,用的theano库,主要是rbm系列,搞pytho... 阅读全文
posted @ 2012-05-24 08:32 tornadomeet 阅读(45112) 评论(24) 推荐(41) 编辑

上一页 1 2 3 下一页

阿萨德发斯蒂芬