你可以用OpenCV来干什么】的更多相关文章

本文翻译自开源图书“OpenCV by Example”中第1章中的“What can you do with OpenCV?”小节. 使用OpenCV,你几乎可以做任何你能够想到的计算机视觉任务.现实生活中的问题需要你使用OpenCV中的许多模块结合在一起来实现你想要的结果.因此,你只需要知道使用什么模块和函数可以实现你想要的功能即可.让我们一起来了解开箱即用(out of the box)的OpenCV到底能够做些什么. 1. 内置数据结构和输入/输出(In-build data struc…
说明:本文所有算法的涉及到的优化均指在PC上进行的,对于其他构架是否合适未知,请自行试验. Box Filter,最经典的一种领域操作,在无数的场合中都有着广泛的应用,作为一个很基础的函数,其性能的好坏也直接影响着其他相关函数的性能,最典型莫如现在很好的EPF滤波器:GuideFilter.因此其优化的档次和程度是非常重要的,网络上有很多相关的代码和博客对该算法进行讲解和优化,提出了不少O(1)算法,但所谓的0(1)算法也有优劣之分,0(1)只是表示执行时间和某个参数无关,但本身的耗时还是有区别…
当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCreateImage的一个简单声明,而没有源代码呢?这是因为openCV将很多函数被加入了函数库,并被编译成了dll,所以只能看到函数申明,没法看到源代码.下面我们详细解释并讲解如何利用cmake查看opencv的源代码. 1:解释原因 要想解释这个,我们必须得熟悉opencv的安装目录<opencv的安…
CvArr,CvMat,IplImage这三者是继承的关系. 打开opencv 3.0的源码: cvArr /* CvArr* is used to pass arbitrary  * array-like data structures  * into functions where the particular  * array type is recognized at runtime:  */ typedef void CvArr; oh god,它是可变类型的数据 cvMat 再看一下…
因为总是接触过这样一些#define里面的东西但是总也不知道是干什么用的.而且每看一次梦比一次. 对于这些东西到底是什么的简写根本就不能理解. 原意是跑一下这个例程的: cvRectangle( myMat, cvPoint(, ), cvPoint(, ), cvScalar(, , ) ); 可是第二章就练习了 IplImage这个结构,对于cvMat简直就不知所云,然后第一版: CvMat *myMat; cvRectangle( myMat, cvPoint(, ), cvPoint(,…
学习opencv中文版教程——第二章 所有案例,跑起来~~~然而并没有都跑起来...我只把我能跑的都尽量跑了,毕竟看书还是很生硬,能运行能出结果,才比较好. 越着急,心越慌,越是着急,越要慢,越是陌生,越不能盲进.否则更容易走错路. 看了一些东西发现都挺坑的,然后看了看书,发现书上写的也...所以就把看书笔记,和跑动例程都来做一个整理. 关于如何配置,是重中之重 所以配置写在了这里:http://www.cnblogs.com/letben/p/5278595.html 然后是看书又看回到了这本…
转载地址:https://www.tuicool.com/articles/q2QrQr 在某些架构上,只有能被指定数(如4,16)整除的内存地址才能够被访问,否则程序会crash,或者出现错误的结果,或者数据的访问变慢. 举个例子来说,很多系统都要求interger的地址从偶数开始.opencv2.0以上版本很多指针都是被对齐过的,使指针地址能够被16整除. opencv中的内存一般是通过malloc分配,不能保证都是都能被16整除,此时需要截断,但是剩下的内存要如何维护? CV2.0的这样维…
一.RTSP是什么?用来干什么? RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetworks公司提交的IETF RFC标准.该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据.RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输.HTTP与RTSP相比,HTTP请求由客户机发出,服务器作出响应:使用RTSP时,客户机和服务器都可…
参考:https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/ 步骤# 1:安装opencv的依赖项 本教程中的大部分(实际上全部)步骤将通过使用您的终端来完成. 首先,打开命令行并更新apt-get软件包管理器以刷新和升级以及预先安装的软件包/库: sudo apt-get update sudo apt-get upgrade 接下来,让我们安装一些开发者工具: sudo apt-get inst…
一.意义和作用: 图像的模糊处理就是将图片处理的更加模糊,如下图,左侧是原图,右侧是经过处理之后的图片. 从主观意愿上说,我们希望看到清晰的图像,而不是模糊的图像.所以很多时候我们听说还有一种专门进行模糊图像的操作时,感觉不可思议,这有什么用呢.要知道模糊图像只是处理噪声带来的副作用,并不是我们的目的.图像没有噪声的时候,我们用平滑滤波器去模糊图像干什么呢?还真有一个重要的应用.把上面的图像使用变得更加模糊之后.效果如下: 我们可以看到,相对于原始图像,一些较小的物体已经融入背景,看不到了,有些…
这是篇是利用 OpenCV 进行人脸识别的技术讲解.阅读本文之前,这是注意事项: 建议先读一遍本文再跑代码——你需要理解这些代码是干什么的.成功跑一遍不是目的,能够举一反三.在新任务上找出 bug 才是. 请确保用的是 OpenCV v2 你需要一个网络摄像头 OpenCV OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python. 它使用机器学习算法在图像中搜索人的面部.对于人脸这么复杂的东西,并没有一个简单的检测能对是否存在人脸下结论,而需要成千上万的特征…
以前都是直接用opencv,都没有仔细研究过,这次把库文件都介绍一下. 1.build和source 当我们安装完opencv中,你会发现在opencv文件夹中有两个文件夹,build和source,那它们分别是干什么的呢. 首先说这两者的关系,sources放的是opencv中的cpp文件,相当于一个工厂,build放的是opencv中的h.hpp.lib文件,相当于一个工具,opencv的开发者(当然开源后的使用者也可以)通过sources中的源文件,构建出build中的库文件,然后使用者就…
当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCreateImage的一个简单声明,而没有源代码呢?这是因为openCV将很多函数被加入了函数库,并被编译成了dll,所以只能看到函数申明,没法看到源代码.下面我们详细解释并讲解如何利用cmake查看opencv的源代码. 1:解释原因 要想解释这个,我们必须得熟悉opencv的安装目录<opencv的安…
下面内容为不同系统和不同版本VS+不同版本OpenCV之间进行配置时的注意事项.本教程中开始提到如果VS版本和OpenCV版本相匹配的话,只要按上述步骤配置都是没有问题的.但是如果说版本不匹配的话,就会出现问题. 什么是版本不匹配呢,在D:\OpenCV244\opencv\build\x86,(不同解压路径位置不同) 有vc9和vc10和vc11这三个东西,或许你会发现在OpenCV相应的目录下是没有vc11这个东西的,vc11是属于VS2012的编译器部分,也就是说在OpenCV243里是不…
/*2017-1-14*/ /*视频的读取...*/ int g_n=0; void on_change(int pos,void *)//看来void*不能省! { printf("g_n id %d\n",pos); } int main() { //结构体第一个字母都是大写,函数小写 //打开视频文件:其实就是建立一个VideoCapture结构 VideoCapture capture("E:\\vedio\\01.avi"); //检测是否正常打开:成功打…
我们学习和使用OpencvSharp,还下载Opencv干什么?很简单,研究人家的源码是最好和最快速的学习方式. 第一Opencv源码下载,网络上很多,请大家自行搜索,版本请下载4.1.0.当前你要用Cmaker来编译.我将一份4.1.0的源码(VisualStudio 2017 环境)上传到网盘了,你们也可以自行下载,免去编译的麻烦. 路径: 链接:https://pan.baidu.com/s/16A-U5L64pd_-1ELhG5etEQ 提取码:d50t 第二OpencvSharp相关资…
引言 在图像处理中,对于直方图这个概念,肯定不会陌生.但是其原理真的可以信手拈来吗? 本文篇幅有点长,在此列个目录,大家可以跳着看: 分析图像直方图的概念,以及opencv函数calcHist()对于RGB图像的直方图的绘制 在其基础上自已定义函数实现对灰度图像直方图的简单绘制 直方图均衡化 直方图的反向投影 图像直方图分析以及opencv函数实现 (一)直方图的介绍 直方图到底可以干什么呢?我觉得最明显的作用就是有利于很直观的对图像进行分析了,直方图就像我们常用的统计图,直方图可以用来描述各种…
在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <opencv/highgui.h> using namespace cv; //绘画 Mat image = imread(image_root + filename); Point p1(x,y), p2(x+w,y+h), p0(x+w/, y+h/); ; //数字 rectangle(image,…
opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Matlab中的各种矩阵运算),所以将IplImage类型和CvMat类型转换为Mat类型更易于数据处理. Mat类型可用于直接存储图像信息,通过函数imread.imwrite.imshow等实现(与Matlab中的函数相…
级联分类器检测类CascadeClassifier,提供了两个重要的方法: CascadeClassifier cascade_classifier; cascade_classifier.load( cascade_dir + cascade_name );// 加载 vector<Rect> object_rect; cascade_classifier.detectMultiScale( img1, object_rect, |CASCADE_SCALE_IMAGE, Size(,) )…
最近老师布置了一个作业,是做一个基于视频的车辆检测与追踪,用了大概两周的时间做了一个简单的,效果不是很理想,但抑制不住想把自己的一些认识写下来,这里就把一些网络上的博客整理一下分享给大家,希望帮助到大家,因为本人也是个小白,所以如果有什么讲的不对的地方希望各位看官多指正! 一.安装OpenCV和搭建环境 首先呢,大家得安装OpenCV,这里网络上有很多相关的教程,这里就不赘述了!我本人用的是OpenCV3.10+VS2015. 这里就贴出几个教程: 下载地址:http://opencv.org/…
1 理论基础 学习Eigen人脸识别算法需要了解一下它用到的几个理论基础,现总结如下: 1.1 协方差矩阵 首先需要了解一下公式: 共公式可以看出:均值描述的是样本集合的平均值,而标准差描述的则是样本集合的各个样本点到均值的距离之平均.以一个国家国民收入为例,均值反映了平均收入,而均方差/方差则反映了贫富差距,如果两个国家国民收入均值相等,则标准差越大说明国家的国民收入越不均衡,贫富差距较大.以上公式都是用来描述一维数据量的,把方差公式推广到二维,则可得到协方差公式: 协方差表明了两个随机变量之…
1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻的功能.从OpenCV2.4开始,加入了新的类FaceRecognizer,该类用于人脸识别,使用它可以方便地进行相关识别实验. 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于或等于中心像素值,则该像素点的位置被标记为1,否则为0…
1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV提供了6种模板匹配算法: 平方差匹配法CV_TM_SQDIFF 归一化平方差匹配法CV_TM_SQDIFF_NORMED 相关匹配法CV_TM_CCORR 归一化相关匹配法CV_TM_CCORR_NORMED 相关系数匹配法CV_TM_CCOEFF 归一化相关系数匹配法CV_TM_CCOEFF_NO…
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/linguanh/) 1,过程感慨(想直接看教程,请跳过此部分) 在写具体内容之前,我先说下我搞这个东西的过程,由于导师之前说过要搞个图像匹配的androi APP,具体就是匹配前后两张图片的相似度,类似 安卓5.0 引入的刷脸解锁. 当时觉得,要实现这样一个东西,肯定没现成的API 可供使用,第一时间想…
我使用的是海康DS-2CD852MF-E, 200万,网络摄像机,已经比较老了,不过SDK在海康官网下载的,开发流程都差不多. 海康摄像机回调解码后的视频数据格式为YV12,顺便说一下YV12的数据格式   YYYY  V U.   我这个是720P,即1280 * 720分辨率. 那么Y分量的数量为 1280 * 720 = 921600 字节, V = U 数量为Y的1/4, 即921600 / 4 =   230400字节,所以一帧720P的YV12数据量为1382400字节,与断点调试查…
前提: 1.安装Android Studio(过程略) 2.官网下载OpenCV for Android 网址:http:opencv.org/downloads.html 我下载的是下图的版本 3.将下载好的OpenCV for Android解压到固定文件夹 4.新建一个android项目(就新建一个就好,以后用到) 以上的步骤基本没有什么问题(除了打开网页的时候网速很慢...) Android Studio导入OpenCV: 1.点击File-new-import Module如图: 2.…
Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2   概述 本文是一篇 环境搭建 的基础文. 为了这个东西让自己折腾了接近2天的时间,各种筛选资料,各种尝试,最后终于找到了相应的资料,然后成功安装. 在整理本文的时候,特别感谢这个作者,他提供了两篇安装opencv的方法,分别是 python2.x [1] 和 python3.x [2] . 笔者按照 3.x 的步骤和线索,再解决掉一些…
Atitit 图像处理 调用opencv 通过java  api   attilax总结 1.1. Opencv java api的支持 opencv2.4.2 就有了对java api的支持1 1.2. 安装2016-05-19  opencv v2.4.13   267M  ,一个压缩包解压即可1 1.3. Opencv d java 接口api  ,把opencv-2413.jar加入java项目1 1.4. /AtiPlatf_ee/src/com/attilax/img/SfitTes…
Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有了对java的支持2 1.4. opencv在2.4.4版本以后添加了对java的最新支持,可以利用java api了.3 2. Qa3 2.1.  java.lang.UnsatisfiedLinkError: Directory separator should not appear in li…