- 博客(19)
- 收藏
- 关注
转载 图像特征特点及其常用的特征提取与匹配方法
常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。一颜色特征(一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化
2011-10-09 17:17:03 659
转载 OpenCV学习笔记 OpenCV_SVN静态库的编译 .
之前按照常规方式(http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1)用Cmake和VS2008编译了OpenCV_SVN,都是生成动态链接库的,最近
2011-09-06 10:33:35 1138
转载 Opencv中卡尔曼滤波器的使用
首先来看一下 OpenCV中关于Kalman滤波的结构和函数定义CvKalman<br />Kalman 滤波器状态typedef struct CvKalman<br />{<br /> int MP; /* 测量向量维数 */<br /> int DP; /* 状态向量维数 */<br /> int CP; /* 控制向量维数 */<br /><br /> /*
2010-12-06 14:47:00 2720
原创 CV_IABS
<br />#ifndef __cplusplus //跨平台定义方法,判断__cplusplus有没有#define过<br />#define CV_IABS(a) ( ( (a) ^ ( (a) < 0 ? -1 : 0) ) - ( (a) < 0 ? -1 : 0))<br />#else<br />#define CV_IABS(a) abs(a)<br />#endif<br />
2010-11-19 14:59:00 1252
转载 运动物体跟踪的camshift算法
<br />CamShift算法<br />简介<br />CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。我把这个算法分解成三个部分,便于理解: <br />Back Projection计算。 <br />Mean Shift算法 <br />CamShift算法 <br />1 Back Projection计算<br />计算Back Projection的步骤是这样的: <b
2010-11-19 13:00:00 1086
转载 视频目标检测与跟踪实现代码
<br />视频目标检测与跟踪实现代码:<br />#include "cv.h" <br />#include "highgui.h" <br />#include <time.h> <br />#include <math.h> <br />#include <stdio.h> <br />#include <string.h> <br /> <br />// various tracking parameters (in seconds) //跟踪的参数(单位为秒)<br />const double
2010-11-06 23:35:00 3283 3
转载 直方图资料
<br />OpenCV统计应用-CvHistogram直方图资料<br />CvHistogram可以提供直方圖的計算,並且可以支援多個維度的直方圖設計,但是在繪製直方圖圖形的時候就需要自己用繪圖函式來繪製,CvHistogram算是一個比較複雜的資料結構,由於它在維度小於二的可以用密集的資料結構,CvMatND來設計,可以當它的直方圖維度大於二的時候,就必須要用到稀疏矩陣,CvSparseMat的方式,下面就是用CvHistogram結構計算一維直方圖的例子<br />CvHistogram一維設計<b
2010-11-05 15:55:00 710
原创 梯度金字塔方向滤波
<br />#include"cv.h"<br />#include"highgui.h"<br /> <br />//用梯度金字塔变换实现彩色图像四个方向的滤波<br />int main(int argc,char *argv[])<br />{<br /> IplImage * src=0;<br /> IplImage * pImg[4]={0,0,0,0};<br /> IplImage * pImg2[4]={0,0,0,0};<br /> Ipl
2010-11-02 00:02:00 1663
原创 阈值函数测试
<br />#include"cv.h"<br />#include"highgui.h"<br />#include "stdio.h"<br /> <br />void fun(IplImage *srctemp,IplImage *dsttemp)<br />{<br /> //对单通道数组进行固定阈值分割<br /> cvThreshold( srctemp, dsttemp, 120.0, 255, CV_THRESH_BINARY );<br /> cvNam
2010-11-02 00:00:00 737
转载 图像域的填充
<br /> #include "cv.h"#include "highgui.h"#include <stdio.h>#include <stdlib.h>IplImage* color_img0;IplImage* mask;IplImage* color_img;IplImage* gray_img0 = NULL;IplImage* gray_img = NULL;int ffill_case = 1;int lo_diff = 20, up_diff =
2010-11-01 23:59:00 671
转载 开运算—lhMorpOpen 和 闭运算—lhMorpClose
开运算—lhMorpOpen形态学和OpenCV2010-06-18 21:15:18阅读63评论0 字号:大中小 订阅 二值图像的开(7*7) 灰度图像的开(9*9 椭圆结构) 函数:lhMorpOpen说明:形态学开运算参数:src 输入图像dst 输出图像se 结构元素指针iterations 开运算中膨胀和腐蚀次数源码:void lhMorpOpen(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int ite
2010-10-31 00:39:00 2108
转载 结构元素的扩展操作
结构元素的扩展操作 <br />在介绍新的扩展形态学变换函数之前,介绍一组结构元素的扩展操作,包括结构元素的拷贝、取反和取映射操作。这些操作将在后面的形态学变换中经常出现。<br /> <br />函数:lhStructuringElementCopy<br />功能:获得形态学结构元素的拷贝<br />参数:se 输入结构元素<br />返回:se的拷贝,注意:在不使用时需要用cvReleaseStructuringElement释放<br />源码:<br />IplConvKernel* lhStr
2010-10-31 00:35:00 585
转载 cvMorphologyEx —不推荐使用
cvMorphologyEx —不推荐使用<br /> 在OpenCV中某些高级形态学变换用cvMorphologyEx函数完成,包括开运算,闭运算,标准形态梯度,白顶帽,黑顶帽运算。但是本博主不推荐使用该函数。<br /> 通过查看cvMorphologyEx的源代码,可以发现,在执行开、闭等运算,在进行第二步形态学腐蚀和膨胀时,该函数仍然采用与第一步相同的结构元素进行。这种方法在针对一般对称的结构元素情况是正确的,但是当结构元素为自定义的非对称结构元素时,结果图像会发生错误的偏移。<br
2010-10-30 22:58:00 1267
转载 结构元素IplConvKernel及操作
在OpenCV中,定义了一个结构用于描述形态学中的结构元素。该结构定义如下:typedef struct _IplConvKernel{ int nCols; int nRows; int anchorX; int anchorY; int *values; int nShiftR;}IplConvKernel;在这里,对其中的变量定义做一简单的描述:nCols,nRows:结构元素的行宽与列高;anchorX,anchorY:结构元素原点(锚点)的位置坐标,水
2010-10-30 15:38:00 2931
转载 canny/Sobel/Laplace边缘检测
<br />#include "cv.h"#include "cxcore.h"#include "highgui.h"#include"stdio.h"int main( int argc, char** argv ){ //声明IplImage指针 IplImage* pImg = NULL; IplImage* pCannyImg = NULL; IplImage* pLaplaceImg=NULL; IplImage* pTempImg=NULL; Ipl
2010-10-23 22:37:00 1294
原创 简单图像融合2
<br />#include "cv.h"#include "highgui.h"#include "stdio.h"int main(int argc,char *argv[]){ IplImage* image1=0; IplImage* image2=0; IplImage* image3=0; image1=cvLoadImage("image1.bmp",1); if(!image1) { printf("could not load image1/n
2010-10-23 22:33:00 475
原创 简单图像融合1
<br />#include "cv.h"#include "highgui.h"#include "stdio.h"int main(int argc,char *argv[]){ IplImage* image1=0; IplImage* image2=0; IplImage* image3=0; int width=300,height=200; int channels1=0,channels2=0,channels3=0; //创建图像头并分配据 ima
2010-10-23 22:31:00 635
原创 采样
#include"cv.h"#include"highgui.h" int main(int argc,char *argv[]){ IplImage * pImg1=0; IplImage * pImg2=0; IplImage * pImg3=0; pImg1=cvLoadImage("lena.jpg",1); pImg2 = cvCreateImage(cv
2010-10-23 22:27:00 439
转载 图像格式转换
<br />#include <cv.h><br />#include <cxcore.h><br />#include <highgui.h><br />#include<stdlib.h><br />//这段函数就是通过 main函数传入的参数为输入文件,把文件后缀改成bmp 后保存。<br />int main(int argc,char * argv[])<br />{<br /> IplImage* src=0;<br /> src=cvLoadImage("lena.jpg",CV_LOAD_I
2010-10-23 22:21:00 485
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人