OpenCV学习及实用demo
包含利用OpenCV写的实用的demo代码工具,便于快速项目开发;
ciky奇
这个作者很懒,什么都没留下…
展开
-
OpenCV中文网站例程——图像创建、保存和复制
运行效果: 程序:#include "cv.h"#include "highgui.h"#include "stdio.h"int main(){IplImage* pImg=NULL; //声明IplImage指针pImg = cvLoadImage("E:\\Lena.jpg",-1) ; //载入图像 //看是否能成功载入if (pImg==NU原创 2014-03-27 21:54:33 · 837 阅读 · 0 评论 -
OpenCV中文网站例程——Canny边缘检测
cvCanny函数功能:采用Canny方法对图像进行边缘检测函数原型:voidcvCanny( constCvArr* image, CvArr*edges, doublethreshold1,doublethreshold2, intaperture_size=3);函数说明:第一个参数表示输入图像,必须为单通道灰度图。原创 2014-03-27 22:27:54 · 1287 阅读 · 0 评论 -
OpenCV中文网站例程——Canny边缘检测(带滚动条)
例子结果: cvCanny函数功能:采用Canny方法对图像进行边缘检测函数原型:voidcvCanny( constCvArr* image, CvArr*edges, doublethreshold1,doublethreshold2, intaperture_size=3);函数说明:第一个参数表示输入图像,必原创 2014-03-28 16:18:42 · 1466 阅读 · 0 评论 -
OpenCV中文网站例程——轮廓检测(只检测图像的外部轮廓)
CvMemStorageCvMemStorage *storage=cvCreateMemStorage(block_size);用来创建一个内存存储器,来统一管理各种动态对象的内存。函数返回一个新创建的内存存储器指针。参数block_size对应内存器中每个内存块的大小,为0时内存块默认大小为64k。 strcmpextern int strcmp(const cha原创 2014-03-28 17:23:26 · 2528 阅读 · 0 评论 -
OpenCV中文网站例程——轮廓检测(能检测内外部轮廓)
《【OpenCV入门指南】第三篇Canny边缘检测》中介绍了边缘检测,本篇介绍轮廓检测,轮廓检测的原理通俗的说就是掏空内部点,比如原图中有3*3的矩形点。那么就可以将中间的那一点去掉。 在OpenCV中使用轮廓检测是非常方便。直接使用cvFindContours函数就能完成对图像轮廓的检测。下面就来看看这个函数的用法。《OpenCV入门指南》系列文章地址:http://bl转载 2014-03-28 19:39:23 · 3942 阅读 · 0 评论 -
OpenCV中文网站例程——轮廓检测(能检测任意输入图像的轮廓)
本文参考以下帖子http://blog.csdn.net/MoreWindows对输入的任意彩图进行轮廓提取,通过调整二值化的阈值来改善轮廓的清晰度 效果如图: 代码如下://图像轮廓检测上//参考MoreWindows (http://blog.csdn.net/MoreWindows)//输入一任意的图像,通过控制阈值(如下面的100)来改善二值化效果,将彩原创 2014-03-28 22:12:49 · 1378 阅读 · 0 评论 -
OpenCV中文网站例程——轮廓检测2
运行结果 :代码如下:#include "cv.h"#include "cxcore.h"#include "highgui.h"#include #define w 500int levels = 3;CvSeq* contours = 0; void on_trackbar(int pos){ IplImage* cn转载 2014-03-28 22:36:35 · 879 阅读 · 0 评论 -
OpenCV中文网站例程——图像旋转和缩放
相关知识点参考:http://xiangge2009.blog.sohu.com/147112222.html首先根据旋转的角度、图象对角线的长度计算旋转后的图像的最大宽度、高度,根据旋转后图象最大的宽度、高度生成新的缓冲区,假设图像的左上角为(left, top),右下角为(right, bottom),则图像上任意点(x, y)绕其中心(xcenter, ycent原创 2014-03-31 15:05:53 · 1044 阅读 · 0 评论 -
OpenCV中文网站例程——读视频文件和运动物体检测
来自于仕琪的讲稿《使用OpenCV进行图像处理》中的例程 程序如下: #include #include #include #include int main( int argc, char** argv ){ //声明IplImage指针 IplImage* pFrame = NULL; IplImage* pFrImg = N原创 2014-04-01 20:10:27 · 1384 阅读 · 7 评论 -
OpenCV中文网站例程——Hough线段检测
程序如下:/* This is a standalone program. Pass an image name as a first parameter of the program. Switch between standard and probabilistic Hough transform by changing "#if 1" to "#if 0" and back */原创 2014-04-01 20:13:55 · 810 阅读 · 0 评论 -
OpenCV中文网站例程——鼠标绘图,图像修复
cvInpaint( const vArr*_input_img,const CvArr* _inpaint_mask,CvArr* _output_img, double inpaintRange原创 2014-05-05 16:17:27 · 994 阅读 · 0 评论 -
OpenCV中文网站例程——离散傅里叶变换DFT
程序代码如下原创 2014-05-17 18:49:17 · 992 阅读 · 0 评论 -
OpenCV中文网站例程——目标跟踪
读取摄像头,用鼠标选择目标,原创 2014-05-17 19:12:58 · 2252 阅读 · 0 评论 -
OpenCV中文网站例程——摄像头标定
标定结果为——原创 2014-05-17 19:20:11 · 1246 阅读 · 0 评论 -
OpenCV中文网站例程——图像颜色分布直方图
处理结果如下——原创 2014-05-17 19:26:42 · 917 阅读 · 0 评论 -
OpenCV中文网站例程——仿射变换
处理结果如下——原创 2014-05-17 19:38:20 · 830 阅读 · 0 评论 -
OpenCV中文网站例程——单目标模板匹配
匹配输出与模板匹配的第一个目标的位置,并在目标图片中框出原创 2014-05-17 19:42:41 · 1199 阅读 · 0 评论 -
OpenCV中文网站例程——多目标模板匹配
多目标模板匹配结果如图——原创 2014-05-17 19:45:33 · 7255 阅读 · 0 评论 -
openCV直方图相关函数
#include "cv.h"#include "highgui.h"#include #include #include IplImage *image = 0, *hsv = 0, *hue = 0, *mask = 0,*hue0=0;CvHistogram *hist = 0;int select_object = 0;int转载 2014-06-25 22:02:58 · 884 阅读 · 0 评论 -
马氏距离与协方差矩阵
今天看到“马氏距离”的字眼,原来简单的认为是加权的欧氏距离,在wiki上查过之后发现原来想简单了,马氏距离能够描述不同维之间的关联性,其关键在于它用到了协方差矩阵,下面是wiki上的介绍:--------------------------在统计学与概率论中,协方差矩阵(或称共变异矩阵)是一个矩阵,其每个元素是各个向量元素之间的方差。这是从标量随机变量到高维度随机向量的自然推广。转载 2014-06-26 09:52:40 · 3051 阅读 · 0 评论 -
OpenCV中文网站例程——直线拟合cvFitline
OpenCV中 CvSeq 对象由以下语句生成 //创建 CvSeq的容器对象 CvMemStorage* storage = cvCreateMemStorage(0); // 创建 CvSeq对象 // 第一个参数 生成后的序列的标志( 不甚解) // 第二个参数 队列(Sequence)头的Size // 第三个参数转载 2014-07-03 10:24:32 · 2159 阅读 · 0 评论 -
OpenCV学习——GSL常见问题总结
1. gsl在visual studio中运行报错项目---》属性---》c/c++---》预处理器---》预处理器定义---》添加“GSL_DLL”2. GSL生成符合高斯分布的随机数#include #include #include #include using namespace std;#define TRA转载 2014-07-03 22:24:19 · 1202 阅读 · 0 评论 -
cvSeqSort函数详细说明
1、向seq容器添加一系列的CvPoint对象2、定义cmp_func3、调用cvSeqSort,该函数会在内部迭代seq,并每次从seq中取两个CvPoint对象出来作为a、b传入cmp_func,并且根据cmp_func的返回结果来调整这两个对象在seq中的相对位置,返回值是1,就调整序列元素位置。[cpp] view plaincopystatic int near_num_cmp(转载 2014-07-22 10:56:55 · 2136 阅读 · 0 评论 -
背景差分法实现前景提取
#include //#include"stdafx.h"#include #include #include #include #include "cvaux.h"#include "cxmisc.h"using namespace std; void BackgroundDiff(IplImage* SrcImg, IplIm转载 2015-01-04 10:15:29 · 5116 阅读 · 1 评论 -
《OpenCV3 计算机视觉 Python语言实现》——处理文件、摄像头和图形用户界面
2.1.1 读/写图像文件>>import cv2>>image = cv2.imread('MyPic.png')>>cv2.imwrite('MyPic.jpg', image)imread()函数的参数:IMREAD_ANYCOLOR=4;IMREAD_ANYDEPTH=2;IMREAD_COLOR=1;IMREAD原创 2017-10-23 21:36:21 · 1028 阅读 · 0 评论 -
import cv2问题(Anancoda与非Anaconda方式)
问题如下:>>> import cv2Traceback (most recent call last): File "", line 1, in import cv2ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。以下是非Anaconda方式安装Python2.7,及安装对应的python包;本原创 2017-11-13 20:28:46 · 27914 阅读 · 9 评论 -
OpenCV 级联分类器训练——训练步骤详解(一)
参考文章:http://blog.csdn.net/xiao_lxl/article/details/44645969根据本人实践过程和理解写了下文。一、正样本准备正样本的选取原则正样本的尺寸不是必须一致的,但是要和生成的正样本矢量文件中的宽高有相同的比例(训练过程中,会根据矢量文件中设置的宽高,自动对正样本进行缩放,比如我在用程序标注时,框选目标尺寸为30X30,但生产vec文件时填的尺寸为64...原创 2018-03-09 15:56:21 · 18567 阅读 · 1 评论 -
【分类器训练——样本准备】读文件夹下的图像序列,批量裁剪txt中ROI区域并保存图像
本文思路及用途如下:由于用ObjectMaker程序会产生带有目标ROI信息的txt文件(即txt中内容为:XXXXXX.jpg 1 19 21 50 50)其中XXXXXX.jpg为图像名,1为该图包含一个目标,其中目标的坐标信息为:左上角x=19,y=21,目标框width=50,height=50;由于txt中包含成千上万张图像及对应目标信息;所以本程序旨在批量从原图中裁出目标ROI区域的图...原创 2018-03-27 19:20:41 · 796 阅读 · 0 评论