学习OpenCV第0天】的更多相关文章

自2011年接触OpenCV已经有几年了,一直停留在写一些小程序,利用手冊完毕一些任务,一直没有深入研究当中代码,现在毕业,但各种原因未能进入图像处理行业,故现重学OpenCV,包含分析代码,学习算法,blog不定时更写,欢迎交流. 搭建好开发环境:VS2010+CV1.0 最新CV是3.0 alpha,但1.0结构简单,基础功能还是有的,并且本人比較熟悉C语言,故选择1.0. 官网下载1.0的安装文件,系统自己主动安装到C:\Program Files (x86),进入OpenCV文件夹,会发…
opencv 3.0 DPM cascade contrib模块 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 在opencv3.0 中 加入DPM检测的C++代码,目前开源的DPMC++代码不多,在2.4的opencv 版本中,DPM模块中在检测时用的是latentSVM,这个是标准的DPM matlab源码中使用的分类器,不过在在voc_release 5.01版本中已经也加入了cascade.这一版本…
假设有10个三维的点,使用数组存放它们有四种常见的形式: ①一个二维数组,数组的类型是CV32FC1,有n行,3列(n×3) ②类似①,也可以用一个3行n列(3×n)的二维数组 ③④用一个n行1列(n×1)的数组或者1行n列(1×n)的数组,数组的类型是CV32FC3 四种形式的内存布局如下图: <学习OpenCV>中给出的计算给定点的公式如下: 说明: 其中row col channel分别表示行号 列号 和通道号: 这些都已从0开始计算,具体如下: 通道号channel=所在的维数(X或Y…
代码: #include <stdio.h> #include <opencv/highgui.h> #include <opencv/cv.h> #include <opencv_libs.h> /* *<学习OpenCV>第五章第二题 * 完成时间:21:43 10/13 星期日 2013 * 作者:qdsclove@163.com */ /* Image Size */ #define IMG_SIZE 100 /* * Window Ti…
这道题是载入一幅带有有趣纹理的图像并用不同的模板(窗口,核)大小做高斯模糊(高斯平滑),然后比较用5*5大小的窗口平滑图像两次和用11*11大小的窗口平滑图像一次是否接近相同. 先说下我的做法,a部分我将每个不同的窗口大小模糊化后的图像生成后,还计算了每个模糊化后的图像与原始图像间的MSE值与PSNR值.(参见:http://zh.wikipedia.org/wiki/%E5%B3%B0%E5%80%BC%E4%BF%A1%E5%99%AA%E6%AF%94) b部分我计算了两次5*5窗口大小的…
这道题是利用OpenCV例子程序里自带的人脸检测程序,做点图像的复制操作以及alpha融合. 说明:人脸检测的程序我参照了网上现有的例子程序,没有用我用的OpenCV版本(2.4.5)的facedetect.c,人脸检测部分是一个月前写的程序,这次做了点改动,以前的部分注释了起来. 代码: #include <opencv/cv.h> #include <opencv/highgui.h> #include <opencv_libs.h> #include <st…
#include <highgui.h> #include <cv.h> #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_feat…
#include <highgui.h> #include <cv.h> #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_feat…
题外话:一直是打算把这本书的全部课后编程题写完的,中间断了几个月,一直忙于其他事.现在开始补上. 这道题我不清楚我理解的题意是不是正确的,这道题可以练习用OpenCV实现透视变换(可以用于矫正在3维环境下的图像失真),b&c部分则是实现图像放大缩小插值,旋转图像.所有的功能都和键盘事件处理联系起来,纯OpenCV实现,和OS无关.不过,在处理SHIFT键时,我取得是其在键盘上对应字符的ASCII码,好像OpenCV对键盘事件的支持不如对鼠标事件的支持.所以SHIFT键+小键盘上的数字键是不行的.…
学习opencv中文版教程——第二章 所有案例,跑起来~~~然而并没有都跑起来...我只把我能跑的都尽量跑了,毕竟看书还是很生硬,能运行能出结果,才比较好. 越着急,心越慌,越是着急,越要慢,越是陌生,越不能盲进.否则更容易走错路. 看了一些东西发现都挺坑的,然后看了看书,发现书上写的也...所以就把看书笔记,和跑动例程都来做一个整理. 关于如何配置,是重中之重 所以配置写在了这里:http://www.cnblogs.com/letben/p/5278595.html 然后是看书又看回到了这本…
前言: 人脸检測与识别一直是计算机视觉领域一大热门研究方向,并且也从安全监控等工业级的应用扩展到了手机移动端的app,总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,眼下在学习openCV,自然不能放过这个领域,于是略微了解了下openCV下人脸检測的一些原理,为之后的人脸识别等研究做个小小的铺垫. 原理: 人脸检測属于目标检測(object detection) 的一部分,主要涉及两个方面 先对要检測的目标对象进行概率统计,从而知道待检測对象的一些特征,建立起目标检測模型.…
考试终于完了,现在终于有时间可以继续学习这个了.写这篇博客主要是因为以前一直搞不清楚图像数据到底是怎么存储的,以及这个step到底是什么,后来查了一下才知道原来step就是数据行的长度.. #include "stdafx.h" #include <highgui.h> #include <math.h> #include <cv.h> using namespace std; int main() { IplImage* sourceImage;…
图像阈值化的基本思想是,给定一个数组和一个阈值,然后根据数组中每个元素是低于还是高于阈值而进行一些处理. cvThreshold()函数如下: double cvThreshold( CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type ) cvShold函数只能处理8位或者浮点灰度图像,目标图像必须与源图像一致,或者为8为图像 . 实现阈值化的代码如下: #include "stdafx.h…
前言: 人脸检測与识别一直是计算机视觉领域一大热门研究方向,并且也从安全监控等工业级的应用扩展到了手机移动端的app.总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,眼下在学习openCV,自然不能放过这个领域.于是略微了解了下openCV下人脸检測的一些原理.为之后的人脸识别等研究做个小小的铺垫. 原理: 人脸检測属于目标检測(object detection) 的一部分,主要涉及两个方面 先对要检測的目标对象进行概率统计,从而知道待检測对象的一些特征,建立起目标检測模型.…
http://www.cnblogs.com/tiandsp/archive/2013/04/20/3031862.html [学习opencv]高斯.中值.均值.双边滤波 四种经典滤波算法,在opencv文档中都能找到的,熟悉一下调用规范. #include "cv.h" #include "highgui.h" #include <iostream> using namespace std; using namespace cv; int main(…
配置环境 操作系统 Ubuntu 12.04 OpenCV版本 opencv-1.0.0 学习书籍 <学习OpenCV> Liunx软件安装方法主要有3种: 1.编译安装,也就是通过编译源代码来安装,需要配置编译源代码的环境来编译源代码 2.apt-get/yum 软件源安装,通过网络的软件源来进行安装,会自动下载相关软件源 3.deb/rpm 安装包来安装,可以通过下载安装包来进行离线安装,有时会需要下载相关软件包 Ubuntu下OpenCV的apt-get安装方法 1.apt-get up…
学习OpenCV——SVM 学习SVM,首先通过http://zh.wikipedia.org/wiki/SVM, 再通过博客http://blog.csdn.net/yang_xian521/article/details/6969904 OpenCV开发SVM算法是基于LibSVM软件包开发的,LibSVM是台湾大学林智仁(Lin Chih-Jen)等开发设计的一个简单.易于使用和快速有效的SVM模式识别与回归的软件包.用opencv使用SVM算法的大概流程是 1)设置训练样本集 需要两组数…
前言 接着上篇<IOS7下的人脸检測>,我们顺藤摸瓜的学习怎样在IOS7下用openCV的进行人脸识别,实际上非常easy,因为人脸检測部分已经完毕,剩下的无非调用openCV的方法对採集到的人脸样本进行训练,终于得到一个能够预測人脸的模型.可是当中的原理可谓是博大精深,因为快临最近末考试了,没时间去琢磨当中详细的细节,这次就先写个大概的demo,下次更新文章就得到6月20号之后了. 原理: 从OpenCV2.4之后,openCV增加了新的类FaceRecognizer,我们能够使用它便捷地进…
    老板让让做一个东东.输入端要用到opencv顺便就来学习一下.买了本书<学习opencv>翻来一看,opencv1.0,去官网上一看.opencv2.49,瞬间有种蛋碎的赶脚.看着第二章介绍一个头文件,在opencv2.49以下招了半天都没找到...泪奔~~     只是看到一些论坛上说.这本书里还是讲了一些实用的算法的,所以还是决心细致读一读,里面的測试程序基本是亲手输入执行成功的,非常多样例我自也用不同的方法实现了一下,毕竟入门级新手.望各位老鸟勿喷.还请各位大手多多指点.    …
下载并安装CMake3.0.1       要自己编译OpenCV2.4.9的源代码.首先.必须下载编译工具,使用的比較多的编译工具是CMake. 以下摘录一段关于CMake的介绍: CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描写叙述全部平台的安装(编译过程).他可以输出各种各样的makefile或者project文件,能測试编译器所支持的C 特性,类似UNIX下的automake.仅仅是 CMake 的组态档取名为 CmakeLists.txt.Cmake 并不直接建构出终于…
学习OpenCV双目测距原理及常见问题解答 转自博客:https://blog.csdn.net/angle_cal/article/details/50800775 一. 整体思路和问题转化.  图1. 双摄像头模型俯视图 图1解释了双摄像头测距的原理,书中Z的公式如下:  在OpenCV中,f的量纲是像素点,T的量纲由定标棋盘格的实际尺寸和用户输入值确定,一般总是设成毫米,当然为了精度提高也可以设置为0.1毫米量级,d=xl-xr的量纲也是像素点.因此分子分母约去,z的量纲与T相同  图2,…
OPenCV /*=========================================================================*/ // 图像和大型阵列类型 /*=========================================================================*/ cv::Mat class:N维密集阵列 该cv::Mat class 可用于任何数组尺寸数量.数据存储在数组中,可以被认为是 "光栅扫描顺序&qu…
/*=========================================================================*/ // 绘画 和 注释 /*=========================================================================*/ 我们经常想画一些图片,或者在从其他地方获得的图像上画一些东西. 为了达到这个目的,OpenCV提供了一个可以让我们制作线条.正方形.圆形等的功能. OpenCv的绘图…
/*=========================================================================*/ // openCV中的函数 /*=========================================================================*/ HighGUI:便携式图形工具包 OpenCV函数允许我们进行交互与经营系统,文件系统和硬件(如摄像头) 主要位于名为HighGUI的模块中(代表"高级图形用户…
ubantu16.04+mxnet +opencv+cuda8.0 环境搭建 建议:环境搭建完成之后,不要更新系统(内核) 转载请注明出处: 微微苏荷 一 我的安装环境 系统:ubuntu16.04 显卡:gt940m python: 2.7.12 GCC:5.3.0 (ubuntu 默认是5.4, 关于降级,后边有叙述) 二 安装步骤 (一) gcc降级 (可选/安装opencv2.4.13则必选) 根据需要,opencv安装时提示,gcc 不支持5.3以上版本,所以降级. 方法1:5.4 =…
学习记录: 到今天为止ARM裸机开发学习进程:1.2.1-1.2.14 预科班知识Linux介绍学习进程:0.2.1-0.2.6 学习内容笔记: 学习了Linux的开发方式的优劣介绍 学习了常用文件夹命令 ls(list) ls -a 显示所有文件(包括隐藏文件) ls -l 显示所有详细信息 ls -a -l也可以 man(查询命令) man 1 ls(1表示查询命令,ls表示查询的内容) cd(change directory) cd ..代表上一层 cd ../../代表上上层 cd .是…
先看一下<学习opencv> 找几个demo 学会相机标定 我做的是单目相机的标定.…
1. Install Visual studio 2013 community version which is free to use for personal usage. 2. Setup the debugger follow the instruction in http://doc.qt.io/qtcreator/creator-debugger-engines.html. On windows can go to link https://msdn.microsoft.com/en…
Author:Maddock Date:2014.12.27 …………………………………………………………………………………………………… PS: VS2013 + OPENCV 3.0.0 的安装,连接器的输入选项简化为: #ifndef _OPENCV_LIB_#define _OPENCV_LIB_ #ifdef _DEBUG#pragma comment(lib, "opencv_ts300d.lib")#pragma comment(lib, "opencv_wor…
After OpenCV 3.0, CvMat cannot be directly converted to cv::Mat, we need to use function cvarrToMat() to do it. Please see the code below: CvMat *cm; cv::Mat m; // Before OpenCV 3.0 m = cm; m = cv::Mat(cm); // After OpenCV 3.0 m = cv::cvarrToMat(cm);…