OpenCV
南山牧笛
只有站在高处,才会看见更美丽的风景
展开
-
OpenCV学习笔记(七)—— OpenCV for Android实时图像处理
转自:http://blog.csdn.net/linshuhe1/article/details/51208745 在上篇中我们已经实现了相机打开和实时图像信息的获取,那么接下来我们可以尝试在获取的图像信息进行一些处理,然后实时显示出来,在这里我们要完成的的几种处理: 灰化、Canny边缘检测、Hist直方图计算、Sobel边缘检测、SEPIA(色调变换)、转载 2018-01-16 10:59:49 · 2506 阅读 · 0 评论 -
opencv3.0配置文件opencv300.props
配置opencv3.0 N次了,但是每次都不长记性,总是出错,这次把opencv300.props的内容整体粘过来,特别要注意,红色字体部分,几次的错误都是出在这里,新版的opencv增加了staticlib,要注意在文件中加上,还有就是路径问题,这个文档默认安装在D盘,要根据自己的实际情况进行更改 $(OPENCV)\include;$(Include原创 2015-11-29 18:34:28 · 4045 阅读 · 1 评论 -
error LNK1104: cannot open file 'opencv_calib3d300.lib'
vs2013 + opencv3.0 配置好,出现如题所示错误。解决办法:在openCV安装目录中查找文件opencv_calib3d300.lib,确定文件的所在目录,发现在opencv300.props文件中并没有此目录,修改后此错误消失。另外出现多个如下所示警告:warning C4819: The file contains a character that canno转载 2015-11-29 18:43:40 · 1588 阅读 · 0 评论 -
Ubuntu14.04 下 OpenCV3 安装
在ubuntu14.04下安装Opencv3,遇到了许多不明白的问题,第一次安装成功了 并没有什么问题,系统重装后再次安装,却出现了很多问题,特作笔记。一 按照官网安装Opencv步骤:1.需要的包: GCC 4.4.x 或更高 CMake 2.8.7 或更高 Git GTK+2.x 或更高,包括头(libgtk2.0-dev)转载 2015-09-16 20:57:41 · 1036 阅读 · 0 评论 -
opencv二值图孔洞填充算法
申明,本文非笔者原创,原文转载自:http://geniusshare.blog.sohu.com/149854097.html孔洞者,不与大背景联通却具有大背景颜色的像素也,所以思路如下:将大背景全部用前景色(白色)填充(cvFloodFill函数,一(0,0)为种子点即可),即得到孔洞图(此时孔洞用为黑色),然后将此图二值反转,即得到用白色表示的孔洞图,然后将此空洞图与原二值图相加(使用c转载 2015-09-17 09:52:05 · 1086 阅读 · 0 评论 -
linux下的OpenCV安装&学习笔记
本文出自 “娜一片天空” 博客,请务必保留此出处http://wanwentao.blog.51cto.com/2406488/435867linux下的OpenCV安装&学习笔记 1. 首先获取ffmpeg,不装这个OpenCV打不开很多视频文件格式。很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载,不过最近他已经换成了更加转载 2015-09-15 16:48:04 · 381 阅读 · 0 评论 -
Linux 下编译安装OpenCV
Cmake的安装OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。ubuntu下安装cmake比较简单,apt-get install cmake如果觉得自带的版本不符合要求,可以下载安装包。下载最新版的安装包:http://www.cmake.org/cmake/resources/software.html这里转载 2015-09-15 16:44:32 · 298 阅读 · 0 评论 -
OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
图像的几何变换是在不改变图像内容的前提下对图像像素的进行空间几何变换,主要包括了图像的平移变换、镜像变换、缩放和旋转等。本文首先介绍了图像几何变换的一些基本概念,然后再OpenCV2下实现了图像的平移变换、镜像变换、缩放以及旋转,最后介绍几何的组合变换(平移+缩放+旋转)。1.几何变换的基本概念1.1 坐标映射关系图像的几何变换改变了像素的空间位置,建立一种原图像像素与变换后图转载 2015-08-05 14:07:39 · 802 阅读 · 0 评论 -
OpenCV2邻域和模板操作
OpenCV2邻域和模板操作在图像处理中,通过当前位置的邻域像素计算新的像素值是很常见的操作。当邻域包含图像的上几行和下几行时,就需要同时扫描图像的若干行,这就是图像的邻域操作了。至于模板操作是实现空间滤波的基础,通常是使用一个模板(一个的矩形)滑过整幅图像产生新的像素。下面介绍通过使用OpenCV2实现Laplace算子锐化图像,来介绍OpenCV2中对邻域和模板的操作。转载 2015-08-05 14:06:16 · 623 阅读 · 0 评论 -
opencv Mat - 图像的容器
Mat - 图像的容器在对图像进行处理时,首先需要将图像载入到内存中,而Mat就是图像在内存中的容器,管理着图像在内存中的数据。Mat是C++ 的一个类,由于OpenCV2中引入了内存自动管理机制,所以不必手动的为Mat开辟内存空间以及手动的释放内存。Mat中包含的数据主要由两个部分构成:矩阵头(矩阵尺寸、存储方法、存储地址等信息)和一个指向存储图像所有像素值的矩阵(根据所选的存储方法转载 2015-08-05 14:04:41 · 566 阅读 · 0 评论 -
OpenCV,计算两幅图像的单应矩阵
面射影变换是关于其次3维矢量的一种线性变换,可以使用一个非奇异的3×3矩阵H表示,X′=HX,射影变换也叫做单应(Homography)。计算出两幅图像之间的单应矩阵H,那么应用这个关系可以将一个视图中的所有点变换到另一个视图中。上图,最右边图像是将最左边图像进行了一次射影变换,变换到中间图像视图后的图像。使用OpenCV可以调用库函数findHomography计算两幅图转载 2015-08-05 13:56:41 · 1507 阅读 · 0 评论 -
OpenCV2:特征匹配及其优化
在OpenCV2简单的特征匹配中对使用OpenCV2进行特征匹配的步骤做了一个简单的介绍,其匹配出的结果是非常粗糙的,在这篇文章中对使用OpenCV2进行匹配的细化做一个简单的总结。主要包括以下几个内容:DescriptorMatcherDMatcherKNN匹配计算两视图的基础矩阵F,并细化匹配结果计算两视图的单应矩阵H,并细化匹配结果DescriptorMatcher 和转载 2015-08-05 13:52:01 · 665 阅读 · 0 评论 -
Ubuntu 14.04下OpenCV 3.0+Python 2.7安装测试
本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程。此外记录了在Python中安装及载入OpenCV的方法。1、安装OpenCV所需的库(编译器、必须库、可选库)GCC 4.4.x or laterCMake 2.6 or higherGitGTK+2.x or higher, including headers (libgtk2.0-dev)pkg-con转载 2015-11-30 19:11:56 · 718 阅读 · 0 评论 -
ubuntu14.04+opencv 3.0安装及测试
本文记录ubuntu下安装opencv过程,步骤来自 opencv官网1、安装opencv所需的库(编译器、必须库、可选库)转载请说明 http://www.cnblogs.com/llxrl/p/4471831.html GCC 4.4.x or laterCMake 2.6 or higherGitGTK+2.x or higher, including heade转载 2015-11-29 18:42:02 · 358 阅读 · 0 评论 -
利用Eclipse使用Java OpenCV
最近在上计算机视觉这门课程用到了OpenCV,于是找到了 "Using OpenCV Java with Eclipse" 这篇博文,是英文的,我将它翻译如下与大家分享从2.4.4版本以后,OpenCV开始支持Java。在这个教程中我会教你在Eclipse下怎么部署环境来使用OpenCV Java(操作系统是Windows),这样你可以充分的利用Java中的垃圾回收机制和一些极其方便的机制转载 2015-12-01 00:29:34 · 640 阅读 · 0 评论 -
windows下的python+ opencv安装攻略
准备文件:python2.7.12,下载链接https://www.python.org/downloads/pip8.1.1,下载链接https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b8转载 2017-03-13 12:50:52 · 1533 阅读 · 0 评论 -
caffe+cuda7.0+opencv3.0.0+mkl ubuntu14.04配置
实验室亲测好用:caffe+cuda7.0+opencv3.0.0+mkl ubuntu14.04配置,有需要的朋友可以参考下。今天终于配置成功了caffe,花了我整整三天啊,fuck!不过我看一些blog,有的说花了半个月,我也就平衡了。废话少说,切入正题。其实网上大部分教程是cuda6.5+opencv2.4.10,但近期如果下载cuda的话,只有cuda7.0,如转载 2016-03-23 18:07:02 · 678 阅读 · 0 评论 -
Tracking-Learning-Detection原理分析
Tracking-Learning-Detection(TLD)是Zdenek Kalal提出的一种对视频中单个物体长时间跟踪的算法。我主要会根据他在2010年发表的论文《Tracking-Learning-Detection》来分析TLD算法的原理。该项目的首页中有几段视频展示了TLD实时跟踪的效果和性能,其中的两个视频可以在这里下载:similar objects,human face。作转载 2015-12-24 22:23:52 · 450 阅读 · 0 评论 -
OpenCV2.4.9 For Android + Android Studio (with gradle)配置教程
好久没来科创了,现在荒凉好多啊- -。 发一篇教程提高下访问~ 原文在我博客 OpenCV的配置一直是个最麻烦的问题,2.4.6以后windows环境下 vs配置我就出错好几十次,来来回回弄了好多遍 之前在实验室弄,为了配合其他人才用的vs2010,现在蹲宿舍干了,改用更简洁的Qt了,qt配置OPENCV方便很多,几句话就搞定了。 人机交互的作业是写一个以图搜图的dem转载 2015-12-24 16:25:19 · 1666 阅读 · 0 评论 -
Android开发——Android Studio中配置及使用OpenCV示例
本文主要讲述了Android Studio中配置及使用OpenCV示例,现在整理出来分享给Android程序员兄弟们,希望给他们的开发工作带来帮助。Android Studio配置及使用OpenCV前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资料参考及学习,很感谢前人留下的总结及经验。关于转载 2015-12-24 16:23:37 · 753 阅读 · 0 评论 -
Android Studio使用OpenCV的配置方法
1、下载进入官网(http://opencv.org/)下载OpenCV4Android并解压。目录结构如下图所示。 其中,sdk目录即是我们开发opencv所需要的类库;samples目录中存放着若干opencv应用示例(包括人脸检测等),可为我们进行android下的opencv开发提供参考;doc目录为opencv类库的使用说明及api文档等;而apk目录则存放着对应于各内核转载 2015-12-24 16:22:53 · 509 阅读 · 0 评论 -
opencv 保存视频VideoWrite
版权声明:本文为博主原创文章,未经博主允许不得转载。尽早过来学习了一下opencv中如何写入视频,顿时发现Opencv太强大了 !!!!你可能已经不满足于读取视频,还想要将你产生的一系列结果保存到一个新建的视频文件中。使用OpenCV中的VideoWriter 类就可以简单的完成创建视频的工作。在接下来的教程中,我们将告诉你:如何用OpenCV创建一个视频文件用Open转载 2015-12-06 18:43:19 · 1894 阅读 · 0 评论 -
编译Caffe时遇到error LNK2005: opencv_core300d.lib已经在 MSVCRTD.lib(MSVCR90D.dll) 中定义
编译Caffe时遇到error LNK2005: opencv_core300d.lib已经在 MSVCRTD.lib(MSVCR90D.dll) 中定义解决方法:问题描述(我遇到的问题和这个类似,但不完全一样,解决方法是一样的,用的是方法一):正在链接…1>NetFuncLib_d.lib(IpList.obj) : error LNK2005: “public:原创 2015-12-20 13:52:08 · 3358 阅读 · 0 评论 -
编译Caffe+VS2013+Opencv3.0.0 lib发生错误
编译Caffe+VS2013+Opencv3.0.0 lib发生错误我发现,opencv3.0.0中的lib和staticlib删除了opencv2.4.9中的一些库文件,所以配置的时候要及时删除,不然会发生错误。原创 2015-12-20 13:27:18 · 937 阅读 · 0 评论 -
编译Caffe时发生错误LINK : fatal error LNK1104: 无法打开文件“opencv_contrib300d.lib”
解决方法:方法一:官网下的最新的3.0.0版是不完整的,换到2.4.9就好了方法二:opencv3.0.0没有opencv_contrib300d.lib这个东西,直接去掉。我用的方法二解决原创 2015-12-20 13:12:19 · 3700 阅读 · 0 评论 -
Linux eclipse下配置opencv3.0
折腾了两天,终于在linux下成功安装了eclipse 并配置成功opencv首先,下载eclipse IDE for c/c++,这样不用安装CDT,省了很多事。其次,配置opencv时,主要配置include和lib两项,即可生效。其中常见的lib包括:opencv_core opencv_imgproc opencv_highgui opencv_ml opencv_videoope原创 2015-12-02 13:06:25 · 1890 阅读 · 0 评论 -
OpenCV2简单的特征匹配
特征的匹配大致可以分为3个步骤:特征的提取计算特征向量特征匹配对于3个步骤,在OpenCV2中都进行了封装。所有的特征提取方法都实现FeatureDetector接口,DescriptorExtractor接口则封装了对特征向量(特征描述符)的提取,而所有特征向量的匹配都继承了DescriptorMatcher接口。简单的特征匹配int main(){转载 2015-08-05 13:50:48 · 613 阅读 · 0 评论 -
OPENCV下SIFT算法使用方法笔记
这几天继续在看Lowe大神的SIFT神作,看的眼花手脚抽筋。也是醉了!!!!实在看不下去,来点干货。我们知道opencv下自带SIFT特征检测以及MATCH匹配的库,这些库完全可以让我们进行傻瓜似的操作。但实际用起来的时候还不是那么简单。下文将对一个典型的基于OPENCV的SIFT特征点提取以及匹配的例程进行分析,并由此分析详细的对OPENCV中SIFT算法的使用进行一个介绍。OPENCV下S转载 2015-07-26 23:01:12 · 948 阅读 · 0 评论 -
[OpenCV]拓展图像边界
图像处理中经常遇到使用当前像素邻的像素来计算当前像素位置的某些属性值,这样就会导致边界像素处越界访问,一般有两种方法解决这种问题:只对不越界的像素进行处理;对图像边界进行拓展,本文主要介绍如何使用OpenCV简单的对边界进行拓展。边界的拓展方式OpenCV提供了几种不同的边界拓展策略:[plain] view plaincopy转载 2015-07-30 21:29:41 · 956 阅读 · 0 评论 -
【模式识别】OpenCV中使用神经网络 CvANN_MLP
OpenCV的ml模块实现了人工神经网络(Artificial Neural Networks, ANN)最典型的多层感知器(multi-layer perceptrons, MLP)模型。由于ml模型实现的算法都继承自统一的CvStatModel基类,其训练和预测的接口都是train(),predict(),非常简单。下面来看神经网络 CvANN_MLP 的使用~定义神经网络转载 2015-07-31 18:52:54 · 974 阅读 · 0 评论 -
OpenCV获取与设置像素点的值的几个方法
Title:OpenCVOpenCV像素值的获取与设置Fn 1 :使用 Mat 中对矩阵元素的地址定位的知识 (参考博文:OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解)Code 1 :int main(){ //新建一个uchar类型的单通道矩阵(gray转载 2015-08-03 21:21:44 · 437 阅读 · 0 评论 -
opencv Mat读取图像元素时出现越界错误
opencv Mat读取图像元素时出现越界错误:今天开发系统,遇到了一个问题,Mat img = imread(path, IMREAD_GRAYSCALE);灰度化图像后,对图像进行了存储,其实IMREAD_GRAYSCALE是一个宏定义,值为0,我想要遍历图像中的每一个像素,很自然想到at函数img.at(i, j),但是总是提示数组越界,找不到原因。。。。。后来原创 2015-08-03 22:06:30 · 2521 阅读 · 0 评论 -
OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
在OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)主要介绍了图像变换中的向前映射、向后映射、处理变换过程中浮点坐标像素值的插值算法,并且基于OpenCV2实现了两个简单的几何变换:平移和镜像变换。本文主要稍微复杂点的两个几何变换:缩放和旋转。1.图像缩放图像的缩放主要用于改变图像的大小,缩放后图像的图像的宽度和高度会发生变化。水平缩放系数,控制图像宽度的缩放,其值为1,转载 2015-08-05 14:08:49 · 1357 阅读 · 2 评论 -
OpenCV2:等间隔采样和局部均值的图像缩小
图像的缩小从物理意义上来说,就是将图像的每个像素的大小缩小相应的倍数。但是,改变像素的物理尺寸显然不是那么容易的,从数字图像处理的角度来看,图像的缩小实际就是通过减少像素个数来实现的。显而易见的,减少图像的像素会造成图像信息丢失。为了在缩小图像的同时,保持原图的概貌特征不丢失,从原图中选择的像素方法是非常重要的。本文主要介绍基于等间隔采样的图像缩小和基于局部均值的图像缩小以及其在OpenC转载 2015-08-05 13:42:34 · 1587 阅读 · 0 评论 -
opencv6.1-imgproc图像处理模块之平滑与形态学操作
这个部分是《opencv-tutorials.pdf》的部分,这部分也是几大部分中例子最多的,其实这个教程的例子都很不错,不过有些看得出来还是c接口的例子,说明例子有些年头了,其实在“opencv/sources/samples”有不同的接口的例子,看完这个教程,下一步就可以看看里面的不同的代码来学习,只是没有说明而已,不过在《opencv-refman.pdf》中会说到某某例子可以参考,也说明这转载 2015-07-28 21:00:42 · 534 阅读 · 0 评论 -
【OpenCV】SIFT原理与源码分析:DoG尺度空间构造
SIFT原理与源码分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548尺度空间理论自然界中的物体随着观测尺度不同有不同的表现形态。例如我们形容建筑物用“米”,观测分子、原子等用“纳米”。更形象的例子比如Google地图,滑动鼠标轮可以改变观测地图的尺度,看到的地图绘制也不同;还有电影中的拉伸转载 2015-07-29 20:09:10 · 449 阅读 · 0 评论 -
OpenCV改变图像大小的操作
OpenCV改变图像大小的操作有两类:resize与图像金字塔,但是这两类操作差别还是比较大的。一、resize函数原型void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )各个参数的意义比较转载 2015-07-29 21:33:22 · 506 阅读 · 0 评论 -
opencv实现高斯模糊
[cpp] view plaincopy#include "cv.h" #include #include int main() { //将图像文件加载至内存 分配图像数据结构所需要的内控 返回一个指向数据结构IplImage的内存块: IplImage *img = cvLoa转载 2015-07-29 21:36:34 · 1055 阅读 · 0 评论 -
使用Qt显示openCV矩阵图片
1.首先配置QtCreator 可以参见 http://blog.csdn.net/cc7829290/article/details/8984706 使用的QtCreator,如果使用的其他编译器需要同事配置好Qt和openCV2.首先使用Qt建立一个ui界面绘制2个按钮和一个label3.在头文件声明一个Mat类和一个QImage类转载 2015-07-31 10:04:04 · 928 阅读 · 0 评论 -
在OpenCV中图像边界扩展 copyMakeBorder 的实现
1. 边界处理的类型2. opencv的实现在图像处理中,经常需要空域或频域的滤波处理,在进入真正的处理程序前,需要考虑图像边界情况。通常的处理方法是为图像增加一定的边缘,以适应 卷积核 在原图像边界的操作。1. 增加边界的类型有以下4个类型:以一行图像数据为例,abcdefgh是原图数据,|是图像边界,为原图加边aaaa转载 2015-07-30 21:26:34 · 690 阅读 · 0 评论