自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逍遥.安——于安静和黑暗中寻找最亮丽的风景

只为追求从无知到有知的成功和喜悦

  • 博客(101)
  • 资源 (2)
  • 收藏
  • 关注

原创 cascade.xml参数解析

分类器xml分析

2015-08-29 17:31:34 5211

原创 windows下使用libsvm3.2

libsvm使用细则

2015-08-25 09:54:01 3307

原创 小白用advanced installer建安装包

写这篇文章的目的是因为肯定有人跟我一样很小白,对安装包的构建又好奇

2015-06-12 15:15:26 14104 1

原创 安装Balser4.2.0驱动的时候,不让安装

报错如下:把windows的更新打开即可,如下:

2015-03-16 18:35:27 820

原创 在未安装opencv的电脑上,调用库

1、include文件夹和lib文件夹放的位置2、dll文件放置位置(Debug版本就需要在Debug文件夹中添加对应的Debug版dll)3、添加include库4、添加lib库5、添加lib文件(Debug版本就需要在Debug下添加对应的Debug版lib)

2014-11-25 15:18:06 971

原创 调用opencv的detectMultiScale函数时报错

我拿detectMultiScale()函数来进行我指定训练好的类别检测时,发现程序会异常,跳转到free.c文件里去,如果把这句屏蔽掉就没有,我知道问题出在这里了,可是怎么调用强大的opencv会有这样的问题呢,怎么会怎么会???因为我改写了detectMultiScale()函数,加了mask,没有涉及到内存的问题啊,后来在网上搜,发现也有人碰到,http://www.aichengxu.

2014-11-25 10:55:44 4546 1

转载 系统时间

1、CTime在CTime获取当前的时间,一般用CTime tm = CTime::GetCurrentTime();来获取当前的时间。然后通过tm 可以读取到各种各样的时间。如果想计算两个时间段之间的时间差,可以使用 CTimeSpan span = end - tm;  获取到从tm 到end 之间的时间。可以通过span 获取到这段时间经历的秒数,等等。span.GetTotalSe

2014-10-22 11:04:51 2112

原创 正式使用opencv里的训练和检测 - opencv_createsamples、opencv_traincascade-2.4.11版本

直接教你怎么用opencv的训练器,以及怎么检测

2014-09-12 14:06:19 51999 38

原创 创建空白图像

IplImage *temp_quad=cvCreateImage(cvGetSize(show_img1),8,1); for (int i=0;iheight;i++) for (int j=0;jwidth;j++) { cvSet2D(temp_quad,i,j,cvScalar(255)); } //将四点连线画出 for(int i=0;i<4;

2012-05-30 21:40:09 1616

原创 关于cvContourArea

对于序列,仅能针对多边形,或者构成一个连续的不连续会出现bug的,shapedescr.cpp有说明 if( CV_IS_SEQ( array )) { contour = (CvSeq*)array; if( !CV_IS_SEQ_POLYLINE( contour )) CV_Error( CV_StsBadArg

2012-05-30 15:24:27 4324 1

原创 创建空白图像

//创建空白图像 IplImage *temp_quad=cvCreateImage(cvGetSize(Background1_img),8,1); for (int i=0;iheight;i++) for (int j=0;jwidth;j++) { cvSet2D(temp_quad,i,j,cvScalar(255)); }

2012-05-21 20:17:56 2349

原创 两点确定直线方程

void get_line(CvPoint2D32f pt_a,CvPoint2D32f pt_b,float &A,float &B,float &C){ if(pt_a.x!=pt_b.x) { A=(pt_b.y-pt_a.y)/(pt_b.x-pt_a.x); B=-1; C=pt_a.y-k*pt_a.x; } else { A=1;

2012-05-21 10:45:42 3208

原创 关于CvMoments的一些剖析

#include "cv.h" #include "highgui.h" #include "cvaux.h"#include "cxcore.h"#include #include using namespace std;using namespace cv;void main(){ CvMemStorage* storage_r= cvCreateM

2012-05-21 10:11:01 4999 1

原创 任意点序列的外围正放着的矩形

CvMemStorage* storage_seq_a= cvCreateMemStorage(0); CvSeq* pt_seq_a= cvCreateSeq(CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), storage_seq_a);//注意第一个参数,如果序列不会被传递给 任何使用特定序列的函数,那么将它设为 0,即某些函数要使用这个seq,但是该函

2012-05-17 15:25:10 1977

原创 得seq的重心

keypoint get_gravity_center(CvSeq* seq)//中心位置,与像素的值无关{ double m00, m10, m01; CvMoments moment; cvMoments(seq, &moment, 1); m00 = cvGetSpatialMoment( &moment, 0, 0 ); m10 = cvGetSpatialM

2012-05-17 10:06:56 793 1

原创 关于轮廓的各种使用

#include "cv.h" #include "highgui.h" #include "cvaux.h"#include "cxcore.h"#include #include using namespace std;using namespace cv;#define PI 3.14159fvoid DrawBox(CvBox2D box,IplIm

2012-05-17 08:32:58 3419 1

原创 cvSeqSort使用

static int near_num_cmp(void* _a,void* _b,void* userdata ){ pt_near* a =(pt_near*)_a; pt_near* b =(pt_near*)_b; return a->field_num>b->field_num ? -1 : a->field_numfield_num ? 1:0;} cv

2012-05-17 08:31:16 2373 1

原创 对所有提取到的轮廓画其重心

#include "cv.h" #include "highgui.h" void main( ) { IplImage* src; CvMoments moments; CvMat *region; CvPoint pt1,pt2; double m00 = 0, m10, m01, mu20, mu11, mu02, inv_m00; dou

2012-05-14 17:30:10 1487

原创 在灰度图像上划线

两种办法1。是生成3通道的图象,每个通道都一样,这样看起来也是灰度图,好处是可以在其上画彩色图象2。直接画,这是要注意不要使用CV_RGB(255,255,0)之类的彩色要使用cvScalar(127)就可以,或是CV_RGB(127,127,127)

2012-05-14 16:44:19 2174

原创 判断点在直线的哪个区域

bool pt_in_positive(CvPoint pt,CvPoint input_pt1,CvPoint input_pt2){ double A,B,C; double k_t; k_t=input_pt2.x - input_pt1.x; if (k_t==0.) { A=1; B=0; C=input_pt1.x; } else

2012-05-10 21:11:39 877

原创 得到相交的四个点构成四边形

CvPoint cross_pts1[4]; CvPoint cross_pts2[4]; cross_pts1[0]=get_cross_pt(img1_choose_pts[0],img1_choose_pts[1],img1_choose_pts[2],img1_choose_pts[3]); cross_pts1[1]=get_cross_pt(img1_choose_pts[

2012-05-09 21:35:20 1609

原创 由1图得到在2图中的显示,但是不画出来

void on_mouse1( int event, int x, int y, int flags, void* ustc){ CvPoint choose_pt= {-1,-1}; CvPoint response_pt= {-1,-1}; CvFont font; cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5, 0

2012-05-09 20:13:29 534

原创 由两点确定的直线,得到与图边界的交点

//求一直线与图边界的交点bool get_cross_pt_with_pic(CvPoint input_pt1,CvPoint input_pt2,vector& cross_pt,IplImage* img){ if (input_pt1.x>=img->width||input_pt1.x=img->height ||input_pt2.x>=img->width||in

2012-05-09 20:09:52 1164

原创 提取图片中任意形状的区域

#include "cv.h"#include "highgui.h"#include #include IplImage* inpaint_mask = 0;IplImage* img0 = 0, *img = 0, *inpainted = 0;CvPoint prev_pt = {-1,-1};void on_mouse( int event, int x

2012-05-09 20:01:51 1150

原创 将矩形向外扩展一圈,但不超过图片的大小

void expand_rect(CvRect &rect,IplImage *img){ if (rect.x>5) {rect.x-=5;rect.width+=5;} else {rect.x=0;rect.width+=rect.x;} if (rect.y>5) {rect.y-=5;rect.height+=5;} else {rect.y=0;rect.h

2012-05-09 14:14:11 823

原创 求点序列的包围矩形

//针对点向量void get_range(point_distributed_list points_distributed,int &min_x,int &min_y,int &max_x,int &max_y){ min_x=min_y=max_x=max_y=0; bool min_flag=1; point_distributed_list::iterator pt=po

2012-05-09 14:12:22 705

原创 求数组的方差

float get_variance(float*a,int n){ float mean,sum1=0; int i; for(i=0;i<=n-1;i++) { sum1+=a[i]; } mean=sum1/n; float variance,sum2=0; for (i=0;i<=n-1;i++) { sum2+=(a[i

2012-05-09 14:11:14 2098

原创 根据是否有领域点来判断点是否孤立

void mark_sparse_flag(point_distributed_list &points_distributed){ point_distributed_list::iterator pt=points_distributed.begin(); for(;pt!=points_distributed.end();pt++) { CvRect rect;

2012-05-09 14:09:39 617

原创 根据点序列的分布来判断点是否孤僻

//根据点序列的分布来判断点是否孤僻void mark_sparse_flag(point_distributed_list &points_distributed){ int max_x,min_x,max_y,min_y; get_range(points_distributed,min_x,min_y,max_x,max_y); int bin=5;//单区间的大小

2012-05-09 14:08:57 535

原创 pt_in_rect

bool pt_in_rect(CvPoint pt,CvRect rect){ if( pt.x>=rect.x && pt.x=rect.y && pt.y<=(rect.y+rect.height) ) return true; else return false; }

2012-05-09 14:06:07 499

原创 解超定方程

float* fInit1DPointer(int num){ register int i; float* p = new float[num]; for(i=0; i<num; i++) { p[i]=0.0f; } return(p);}float** fInit2DPointer(int row,int col){ regist

2012-05-08 14:19:29 1796

原创 解超定方程求透视矩阵

float* fInit1DPointer(int num){ register int i; float* p = new float[num]; for(i=0; i<num; i++) { p[i]=0.0f; } return(p);}float** fInit2DPointer(int row,int col){ regist

2012-05-08 11:19:22 1372

原创 动态分配和释放一、二维数组

分配:double **a=new double *[2*numPoints]; for(int i = 0; i           a[i] = new double[8]; double *b =new double[2*numPoints];释放:for(int i = 0; i {  delete [8]a[i];  a[i]=NULL; }

2012-05-08 11:16:48 956

原创 由对应四点求透视投影矩阵

void get_H_matrix(matchingslist matchings,CvMat* H_Mat1,CvMat* H_Mat2){  CvPoint2D32f *points1=new CvPoint2D32f[4]; CvPoint2D32f *points2=new CvPoint2D32f[4]; matchingslist::iterator ptr = m

2012-05-08 10:31:08 2175

原创 解线性超定方程

int numPoints=10;double **a=new double *[2*numPoints]; for(int i = 0; i   a[i] = new double[8]; double *b =new double[2*numPoints]; CvMat A = cvMat (2*numPoints,8, CV_64F, a); CvMat B = cv

2012-05-08 10:22:58 1219

原创 透视投影变换

*      c00*xi + c01*yi + c02 * ui = --------------------- *      c20*xi + c21*yi + c22 * *      c10*xi + c11*yi + c12 * vi = --------------------- *      c20*xi + c21*yi + c22(xi,yi)为图1的

2012-05-07 21:49:31 928

转载 C++下基本数据类型所占位数和取值范围

char                           -128 ~ +127                (1 Byte)short                        -32767 ~ + 32768     (2 Bytes)unsigned short       0 ~ 65536                   (2 Bytes)int

2012-05-03 17:21:20 1981

原创 32位与64位系统

x86代表32位操作系统  x64代表64位操作系统.计算机处理器在RAM(随机存取储存器)处理信息的效率,取决于32位和64位版本Windows。64位版本比32位的可以处理更多的内存和应用程序。比较32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据。如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑

2012-05-03 16:58:36 764

转载 标准格式输出

符号              作用                             %d         十进制有符号整数               %u         十进制无符号整数                %f         浮点数                %s         字符串                %c         单个字

2012-05-03 16:35:56 542

转载 关于main函数的作用与标准格式

C的设计原则是把函数作为程序的构成模块。main()函数称之为主函数,一个C程序总是从main()函数开始执行的。 一、main()函数的形式     在最新的 C99 标准中,只有以下两种定义方式是正确的:        int main( void )--无参数形式         {         ...         return 0;

2012-05-03 16:22:53 2127

采集样本程序

方便你采集样本图哦,保证好用。说明:空格存图,enter下一张图,窗口会显示框的长宽

2014-09-12

光流法介绍(全面)

cvCalcOpticalFlowHS()

2012-03-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除