
OpenCV
文章平均质量分 91
shiter
CSDN博客专家,人工智能与大数据领域优秀创作者,累计近500W人次访问。 熟悉自然语言处理(NLP)、大数据(Spark 、Elasticsearch)、数据分析(Scala,Python),计算机视觉(OpenCV、立体匹配)等领域的研发工作。世界500强,高级算法工程师, 曾参与并负责国家级大数据项目,负责大健康平台相关开发与管理工作,负责金融行业AI与大数据平台产品设计、开发与落地。编程不仅仅是技术,还是艺术!talk is cheap,show me the code!
展开
-
OpenCV下载、安装和使用
当下,涉及人工智能和计算机视觉之类的算法多用python或matlab实现,这个系列基于C++解析OpenCV的常用算法使用及基本原理。一、OpenCV下载、安装、使用1. 安装VisualStudioOpenCV是一种开源的计算机视觉开发库。既然是开发库,那么必须依托某种语言程序来加载。以C++为例,在安装OpenCV之前,必须安装C++的程序开发环境(IDE),在此我们选择VisualSt...原创 2024-09-06 19:31:43 · 7141 阅读 · 2 评论 -
基于重心偏移的视差计算
视差的计算,主要要计算待匹配图像对应像素的水平偏移,那么针对一个物体而言,其在场景中的视差大体上应该是平滑的,所以可以直接针对分割出的物体计算重心的水平偏移从而得到视差值,我做了一个小实验,感觉效果还行,下面是代码和实验结果,希望各位有什么想法大家交流。 有一个问题就是,我这个视差计算出来是这个台灯是221的灰度,标准的是224的灰度。我的流程是算出横向偏移x,视差 = x原创 2015-12-09 20:20:56 · 3573 阅读 · 0 评论 -
OpenCV3.0 3.1版本的改进
摘要: OpenCV现在更新到了3.1版本,相对OpenCV2以及做了很大改进,其中对于硬件加速,移动开发(IOS,android)的支持成为亮点。 新版的OpenCV采用了内核+插件的架构模式,整体上更加易于扩展。 其中最与时俱进的特点就是 支持最新的 Windows 和 OS X 操作系统和最新的开发工具 (VS2015 和 Xcode 7),持 A原创 2016-01-05 11:13:15 · 18915 阅读 · 5 评论 -
GrabCut in One Cut(基于图割算法grabcut的一次快速图像分割的OpenCV实现)----目前效果最好的图割
One cut in grabcut本文针对交互式图像分割中的图割算法,主要想翻译一篇英文文献。不足之处请大家指正。 该方法使用少量的辅助节点(这个辅助节点我没看出来代码在哪块提现的,还望高手指点)来实现高效率的分割,传统的基于梯度下降的方法的分割方法,如grabcut,可能会收敛到局部极值(在图像较大时),而实验结果表明,对于图像比较复杂的图像如果我们使用足够过的辅助原创 2015-11-27 20:43:41 · 18956 阅读 · 39 评论 -
OpenCV计算物体的重心坐标(2值图像)
效果图:代码:// FindGravity.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include "cv.h" #include "highgui.h" #include #include #pragma comment(lib,"opencv_core原创 2015-11-03 17:02:32 · 19558 阅读 · 19 评论 -
OpenCV空洞填充算法
在Matlab下,使用imfill可以很容易的完成孔洞填充操作,感觉这是一个极为常用的方法,然而不知道为什么Opencv里面却没有集成这个函数。在网上查了好多关于Opencv下的孔洞填充方法,大部分使用轮廓查找方法去做的,但对于这种方法,总感觉不是特别好。之前了解过冈萨雷斯那本书上的孔洞填充算法,所以想着手重新写一个。这里借鉴了冈萨雷斯书上的集合运算方法(并不完全一样)转载 2015-08-16 11:40:20 · 13531 阅读 · 6 评论 -
OpenCV stereo matching BM 算法
一直找不到opencv stereo matching的根据和原理出处,下面这个文章贴了个链接,有时间看看: Basically OpenCV provides 2 methods to calculate a dense disparity map:cvFindStereoCorrespondenceBM: Fast (can proce原创 2015-04-26 11:39:25 · 11335 阅读 · 2 评论 -
Opencv学习笔记------Harris角点检测
分类: OpenCV 2012-03-25 01:07 33825人阅读 评论(27) 收藏 举报image算法测试iteratoralgorithmfeatures原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/7391511文章目录:一、Harris角点检测基本理论二、opencv代码实现三、翻译 2015-04-01 13:32:47 · 3851 阅读 · 2 评论 -
OpenCV特征点检测算法对比
分类: 图像处理算法2009-06-20 20:5454441人阅读评论(10)收藏举报 算法blog活动 识别算法概述: SIFT/SURF基于灰度图, 一、首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点,再使用二次插值法得到精确特征点所在的层(尺度),即完成了尺度不变。 二、在特征点选转载 2015-04-01 13:32:55 · 24994 阅读 · 0 评论 -
OpenCV 轮廓检测
读入彩色3通道图像,转换成灰度图像,再转换成二值图像,完后检测轮廓。 // cvtcolor.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #pragma comment(lib, "opencv_highgui2410d.lib")#pragma comm翻译 2014-12-11 10:49:23 · 13106 阅读 · 0 评论 -
OpenCV 金字塔图像缩放
// image_pyramid.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include翻译 2014-12-10 17:31:47 · 2283 阅读 · 0 评论 -
OpenCV+OpenCL stereo match 代码
之前配置cuda跟opencv 的混合编程,发现只要使用的东西多半还要用opencv的代码编译一次原创 2014-10-20 19:31:09 · 7372 阅读 · 4 评论 -
OpenCV矩阵运算
矩阵处理1、矩阵的内存分配与释放(1) 总体上: OpenCV 使用C语言来进行矩阵操作。不过实际上有很多C++语言的替代方案可以更高效地完成。 在OpenCV中向量被当做是有一个维数为1的N维矩阵. 矩阵按行-行方式存储,每行以4字节(32位)对齐.(2) 为新矩阵分配内存:CvMat* cvCreateMat(int rows, int cols, int翻译 2014-12-15 15:14:26 · 2694 阅读 · 0 评论 -
OpenCV 直线检测
/*------------------------------------------------------------------------------------------*\ This file contains material supporting chapter 7 of the cookbook: Computer Vision Programming usi翻译 2014-12-10 17:22:48 · 8942 阅读 · 2 评论 -
OpenCV处理视频序列的类
代码出处,opencv2 cookbook:/*------------------------------------------------------------------------------------------*\ This file contains material supporting chapter 10 of the cookbook: Comput翻译 2014-12-10 16:19:28 · 2369 阅读 · 0 评论 -
OpenCV特征点检测------ORB特征
ORB算法 目录(?)[+] 什么是ORB 如何解决旋转不变性 如何解决对噪声敏感的问题 关于尺度不变性 关于计算速度 关于性能 Related posts 什么是ORB 七 4 Year 2011 passionke未分类 ORB是是ORiented Brief的简称。ORB的描述在下面文翻译 2015-04-01 13:32:49 · 25922 阅读 · 1 评论 -
OpenCV特征点检测匹配图像-----添加包围盒
最终效果:其实这个小功能非常有用,甚至加上只有给人感觉好像人脸检测,目标检测直接成了demo了,主要代码如下:// localize the object std::vector obj; std::vector scene; for (size_t i = 0; i < good_matches.size(); ++i) { // get the k翻译 2016-02-24 20:48:17 · 10727 阅读 · 4 评论 -
利用OpenCV的人脸检测给头像带上圣诞帽
原图: 效果: 原理很简单:有一个圣诞帽的png图像, 利用png图像背景是透明的,贴在背景图片上就是戴帽子的效果了。人脸检测的目的主要是为了确定贴帽子的位置,类似ps中自由变换的功能,检测到人脸中间的位置,resize圣诞帽子和人脸大小匹配,确定位置,贴上去,ok! 代码:// getheader.cpp : 定义控转载 2015-12-24 21:47:00 · 9088 阅读 · 3 评论 -
OpenCV特征点检测------Surf(特征点篇)
学习OpenCV——Surf(特征点篇)&flann 分类: OpenCV特征篇计算机视觉 2012-04-20 21:55 19887人阅读评论(20)收藏举报 检测特征 Surf(Speed Up Robust Feature) Surf算法的原理翻译 2015-04-01 13:32:52 · 21238 阅读 · 9 评论 -
OpenCV进行图像相似度对比的几种办法
转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/51533549, 来自:shiter编写程序的艺术 对计算图像相似度的方法,本文做了如下总结,主要有三种办法:1.PSNR峰值信噪比PSNR(Peak Signal to Noise Ratio),一种全参考的图像质量评价指标。简介:https://en.wikipedia.原创 2015-02-16 18:40:03 · 177313 阅读 · 45 评论 -
OpenCV+OpenGL 双目立体视觉三维重建
这篇文章主要为了研究双目立体视觉的最终目标——三维重建,系统的介绍了三维重建的整体步骤。双目立体视觉的整体流程包括:图像获取,摄像机标定,特征提取(稠密匹配中这一步可以省略),立体匹配,三维重建。我在做双目立体视觉问题时,主要关注的点是立体匹配,本文主要关注最后一个步骤三维重建中的:三角剖分和纹理贴图以及对应的OpenCV+OpenGL代码实现。1.视差计算1.1基于视差信息的三维重建特征提原创 2016-08-08 00:02:47 · 82411 阅读 · 90 评论 -
python+OpenCV 特征点检测
1.Harris角点检测Harris角点检测算法是一个极为简单的角点检测算法,该算法在1988年就被发明了,算法的主要思想是如果像素周围显示存在多于一个方向的边,我们认为该点为兴趣点。基本原理是根据公式: 化简为求解矩阵,最后根据矩阵的特征值判断是否为角点 实现效果: 代码(不用OpenCV):# -*- coding: utf-8 -*-from pylab import原创 2016-06-11 23:39:16 · 16410 阅读 · 5 评论 -
CUDA跟OpenCV的混合编程,注意OpenCV需要重新编译
编译的办法参见:翻译 2014-10-23 11:47:38 · 12653 阅读 · 18 评论 -
OpenCV+python 人脸识别
首先给大家推荐一本书:机器学习算法原理与编程实践 本文内容全部转载于书中,相当于一个读书笔记了吧绪论1992年麻省理工学院通过实验对比了基于结构特征的方法与基于模版匹配的方法,发现模版匹配的方法要优于基于特征的方法。以支持向量机为代表的统计学习理论在随后被应用到了人脸识别与确认中去。但是由于算法运行效率问题,很快被一种新的算法替代了。这就是2001年康柏研究院提出的基于简单矩形特征和AdaBo转载 2016-06-23 17:51:55 · 22959 阅读 · 12 评论 -
基于OpenCV 的美颜相机推送直播流
程序流程:1.图像采集先从opencv(2.4.10版本)采集回来摄像头的图像,是一帧一帧的每一帧图像是一个矩阵,opencv中的mat 数据结构。 2.人脸的美化人脸美化,我们用的皮肤检测,皮肤在颜色空间是特定的一个区域检测到这个区域(感兴趣区域),完后对这个区域进行美化,就是滤波,主要是双边滤波和高斯滤波。 3.视频格式转换以及编码处理好的矩阵颜色空原创 2016-04-04 13:06:56 · 16875 阅读 · 8 评论 -
OpenCV导向滤波(引导滤波)实现(Guided Filter)代码,以及使用颜色先验算法去雾
本文主要介绍导向滤波,但是在网上看这算法还能去雾,不知道是怎么实现的,希望过来人指点迷津 论文主要如下:Kaiming He, Jian Sun, Xiaoou Tang. Single Image Haze Removal Using Dark Channel Prior大致内容是提出了一个叫做暗原色先验的东西来对有雾图像进行处理,十分巧妙,有兴趣者可以看看。这里使用Open原创 2015-04-02 23:17:30 · 26667 阅读 · 33 评论 -
OpenCV stereo matching 代码 matlab实现视差显示
/* * stereo_match.cpp * calibration * * Created by Victor Eruhimov on 1/18/10. * Copyright 2010 Argus Corp. All rights reserved. * */#include "opencv2/calib3d/calib3d.hpp"#include "open原创 2014-11-16 22:47:50 · 26111 阅读 · 54 评论 -
OpenCV 矩形轮廓检测
#include "cv.h"#include #include #include #include #include #include #pragma comment(lib,"opencv_core2410d.lib") #pragma comment(lib,"opencv_highgui2410d.lib") #pragma comment(lib,"op翻译 2014-12-11 11:01:03 · 44692 阅读 · 4 评论 -
基于GraphCuts图割算法的图像分割----OpenCV代码与实现
转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/44151213,来自:shiter编写程序的艺术 1.绪论图切割算法是组合图论的经典算法之一。近年来,许多学者将其应用到图像和视频分割中,取得了很好的效果。本文简单介绍了图切算法和交互式图像分割技术,以及图切算法在交互式图像分割中的应用。 图像分割指图像分...翻译 2015-03-09 10:11:17 · 62661 阅读 · 42 评论 -
OpenCV问题集锦,图片显示不出来,WaitKey(0),imread()不能读图片,未经处理的异常,等问题集合
昨天根据uc伯克利的人工图像分割文件原创 2014-08-31 11:03:09 · 33365 阅读 · 10 评论 -
OpenCV实时美颜摄像并生成H264视频流
为什么美颜摄像这么简单的功能,OpenCV这个开源项目网上很少有代码呢?对于在windows平台下,生成h264视频流也比价麻烦,没有现成的api可以使用,需要借助MinGw编译libx264,或者ffmpeg才能使用。最近有个小需求,要推送直播视频流,我在网上查了一下有live555或者用librtmp来推送,但是前者还需要修改源代码,也挺麻烦的,现在先做到了下面几个步骤:1.OpenC原创 2016-03-04 23:36:59 · 22852 阅读 · 13 评论 -
win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)
vs2010主要有两种模式,分别是debug 和 release。 模式可以通过如图所示的位置选择。需要注意的是,因为先前我们cmake采用的是64位VS10编译器,在这里需要选择编译器x64, 而不是win32, 否则会出错。原创 2014-10-11 17:18:35 · 12435 阅读 · 17 评论 -
OpenCV混合高斯模型函数注释说明
OpenCV混合高斯模型函数注释说明一、cvaux.h#define CV_BGFG_MOG_MAX_NGAUSSIANS 500//高斯背景检测算法的默认参数设置#define CV_BGFG_MOG_BACKGROUND_THRESHOLD 0.7 //高斯分布权重之和阈值#define CV_BGFG_MOG_STD_THRESHOLD转载 2014-08-18 21:29:45 · 4220 阅读 · 0 评论 -
OpenCV鼠标画图例程,鼠标绘制矩形
// An example program in which the// user can draw boxes on the screen.///* License: Oct. 3, 2008 Right to use this code in any way you want without warrenty, support or any guarentee of it w原创 2014-02-21 14:19:09 · 2672 阅读 · 3 评论 -
OpenGL OpenCV根据视差图重建三维信息
代码如下: // disparity_to_3d_reconstruction.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//Huang,Haiqiao coded on Dec.2009代码出处://http://www.opencv.org.cn/forum.php?mod=viewthread&tid=8722&extra=&p翻译 2014-11-23 15:19:26 · 13246 阅读 · 24 评论 -
OpenCV 求外接矩形以及旋转角度
程序没有写完整,大概功能就是实现了,希望大家分享学习,把他改对 // FindRotation-angle.cpp : 定义控制台应用程序的入口点。//// findContours.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include #i翻译 2014-12-11 11:26:11 · 36397 阅读 · 19 评论 -
OpenCV 透视变换实例
// affine transformation.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"/** * Automatic perspective correction for quadrilateral objects. See the tutorial at * http://opencv-code.com/tutorials/automa翻译 2014-12-11 17:21:47 · 13384 阅读 · 11 评论 -
OpenCV手写数字字符识别(基于k近邻算法)
摘要本程序主要参照论文,《基于OpenCV的脱机手写字符识别技术》实现了,对于手写阿拉伯数字的识别工作。识别工作分为三大步骤:预处理,特征提取,分类识别。预处理过程主要找到图像的ROI部分子图像并进行大小的归一化处理,特征提取将图像转化为特征向量,分类识别采用k-近邻分类方法进行分类处理,最后根据分类结果完成识别工作。程序采用Microsoft Visual Studio 2010与Ope翻译 2013-12-03 10:32:53 · 34708 阅读 · 26 评论 -
OpenCV特征点提取----Fast特征
1.FAST(featuresfrom accelerated segment test)算法http://blog.csdn.net/yang_xian521/article/details/7411438特征点检测和匹配是计算机视觉中一个很有用的技术。在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用。很多传统的算法都很耗时,而且特征点检测算法只是很多复杂图像处理里中翻译 2015-03-08 22:43:44 · 16800 阅读 · 0 评论 -
OpenCV meanshift 图像分割代码
参考:这个帖子的主要代码有错误,根据回帖改了一些http://www.cnblogs.com/tornadomeet/archive/2012/06/06/2538695.html // meanshift.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"// meanshift_segmentation.cpp : 定义控制台应用程序的入口点转载 2014-12-10 10:55:04 · 13388 阅读 · 3 评论