资源简介
此为基于opencv的拌线检测
代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
#include “cv.h“
#include “cxcore.h“
#include “highgui.h“
#include
#include
#include //用于保存监控记录
#include “GENZONG.h“
using namespace std;
// typedef struct
// {
// int flag;
// int min_w;
// int min_h;
// int max_w;
// int max_h;
// }Rect;
//
// typedef struct
// {
// int flag;
// int min_w;
// int min_h;
// int max_w;
// int max_h;
// float *objectHist;
// vector trajectory;//记录目标轨迹
// CvPoint start;
// int len;//轨迹点数
//
// }object;
int iniBkT=6; //初始背景掩膜判断阈值(影响背景建立速度)
int thrZero=10; //初始背景建成阈值(简单背景时取10,复杂背景取100)
float gx=(float)0.0008;
Rect blobNow[1000] ;
int numberBlobNow=0;
int blobNowFlag=0;
CvKalman *kalman[1000];
object object[100];
int allobjectNum = 0;
#define calc_point(p) cvPoint(cvRound(p[0]) cvRound(p[1]))
object objectPredict[1000];
#define NUM (8*8*8)
# define R_BIN 8 /* 红色分量的直方图条数 */
# define G_BIN 8 /* 绿色分量的直方图条数 */
# define B_BIN 8 /* 兰色分量的直方图条数 */
# define R_SHIFT 5 /* 与上述直方图条数对应 */
# define G_SHIFT 5 /* 的R、G、B分量左移位数 */
# define B_SHIFT 5 /* log2( 256/8 )为移动位数 */
vector trajectorys;
vector ntrajectorys;
CvRect selection;
int selectionOrigin=1; //为1时,使用默认的监测区域
int select_object = 0;
int detect_object = 0; //等于1时,才开始目标检测
int new_detect_object = 0; //为1时,重新分配内存
unsigned int nFrmNum = 0; //采集的帧数
IplImage *image = NULL; //保存捕捉的视频帧,用于鼠标响应函数
int In_num = 0;
int Out_num = 0;
/************************************************************************/
/* 二值化 t1是阈值 */
/************************************************************************/
void threshold(int t1IplImage* image)
{
for (int i=0;i< image->height;i++) //行
{
for (int j=0;j< image->width;j++) //列
{
uchar t=((uchar*)( image->imageData + image->widthStep*i))[j];
if (t>t1)
((uchar*)( image->imageData + image->widthStep*i))[j]=255;
else
((uchar*)( image->imageData + image->widthStep*i))[j]=0;
}
}
}
/************************************************************************/
/* 初始化为零 */
/************************************************************************/
void setZero(IplImage* image)
{
for(int i=0;iheight;i++)
{
for(int j=0;jwidth;j++)
{
((uchar*)(image->imageData + image->widthStep*i))[j] = 0 ;
}
}
}
/************************************************************************/
/* 给运动区域加框 */
/************************************************************************/
int RegionRect(IplImage* frontImgBinaryIplImage* frontImgGray IplImage *imageRGB IplImage *imageHue)
{
int i j n = 0;
int flage=0;
Rect blobTemp[1000];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 270454 2013-07-05 08:33 新建文件夹\DEMO\Debug\DEMO.exe
文件 414868 2013-07-05 08:33 新建文件夹\DEMO\Debug\DEMO.ilk
文件 68982 2013-07-05 08:33 新建文件夹\DEMO\Debug\DEMO.obj
文件 203996 2014-05-22 23:02 新建文件夹\DEMO\Debug\DEMO.pch
文件 615424 2013-07-05 08:33 新建文件夹\DEMO\Debug\DEMO.pdb
文件 710378 2013-07-05 08:33 新建文件夹\DEMO\Debug\DEMO.sbr
文件 295 2010-11-02 09:46 新建文件夹\DEMO\Debug\StdAfx.cpp
文件 769 2010-11-02 09:46 新建文件夹\DEMO\Debug\StdAfx.h
文件 2704 2014-05-22 23:02 新建文件夹\DEMO\Debug\StdAfx.obj
文件 4189 2014-05-22 23:02 新建文件夹\DEMO\Debug\StdAfx.sbr
文件 181248 2013-07-05 08:33 新建文件夹\DEMO\Debug\vc60.idb
文件 225280 2013-07-05 08:33 新建文件夹\DEMO\Debug\vc60.pdb
文件 15732 2013-05-22 23:17 新建文件夹\DEMO\DEMO.cpp
文件 4446 2012-05-01 16:13 新建文件夹\DEMO\DEMO.dsp
文件 537 2012-04-11 14:23 新建文件夹\DEMO\DEMO.dsw
文件 270423 2013-05-22 23:18 新建文件夹\DEMO\DEMO.exe
文件 107520 2013-07-05 12:32 新建文件夹\DEMO\DEMO.ncb
文件 49664 2013-07-05 12:32 新建文件夹\DEMO\DEMO.opt
文件 1439 2013-07-05 08:33 新建文件夹\DEMO\DEMO.plg
文件 1446014 2013-07-05 08:31 新建文件夹\DEMO\GENZONG.dll
文件 1981 2012-04-24 23:28 新建文件夹\DEMO\GENZONG.H
文件 3214 2013-07-05 08:31 新建文件夹\DEMO\GENZONG.lib
文件 295 2010-11-02 09:46 新建文件夹\DEMO\StdAfx.cpp
文件 769 2010-11-02 09:46 新建文件夹\DEMO\StdAfx.h
文件 8051158 2012-04-12 11:37 新建文件夹\人员计数.avi
目录 0 2013-07-05 12:32 新建文件夹\DEMO\Debug
目录 0 2013-07-05 12:32 新建文件夹\DEMO
目录 0 2013-07-05 12:33 新建文件夹
----------- --------- ---------- ----- ----
12651779 28
............此处省略1个文件信息
评论
共有 条评论