camshift检测和跟踪代码

camshift检测和跟踪代码
camshift检测和跟踪代码

采用 CAMSHIFT 算法快速跟踪和检测运动目标的 C/C++ 源代码,OPENCV BETA 4.0 版本在其 SAMPLE 中给出了这个例子。算法的简单描述如下(英文):

This application demonstrates a fast, simple color tracking algorithm that can be used to track faces, hands . The CAMSHIFT algorithm is a modification of the Meanshift algorithm which is a robust statistical method of finding the mode (top) of a probability distribution. Both CAMSHIFT and Meanshift algorithms exist in the library. While it is a very fast and simple method of tracking, because CAMSHIFT tracks the center and size of the probability distribution of an object, it is only as good as the probability distribution that you produce for the object. Typically the probability distribution is derived from color via a histogram, although it could be produced from correlation, recognition scores or bolstered by frame differencing or motion detection schemes, or joint probabilities of different colors/motions etc.

In this application, we use only the most simplistic approach: A 1-D Hue histogram is sampled from the object in an HSV color space version of the image. To produce the probability image to track, histogram "back projection" (we replace image pixels by their histogram hue value) is used.

这应用证明能用来跟踪脸,手的一种快,简单的颜色跟踪算法。 CAMSHIFT 算法是一次Meanshift 算法,是一种找到一种可能性配给的方式(顶)的坚固的统计方法的修改。 CAMSHIFT和Meanshift 算法在信息库里存在。当时一非常斋戒和简单方法的跟踪,因为CAMSHIFT 跟踪一个物体的可能性分配的中心和大小,

在这应用过程中,我们只使用最过分简化的方法: 1-D 颜色直方图被从这幅图像的HSV颜色空间版本物体取样。为了产生要跟踪的这幅可能性图像,直方图"背面投射"(我们用颜色估价的他们的直方图替换图像象素)被使用。

算法的详细情况,请看论文:

https://www.360docs.net/doc/507850392.html,/incoming/camshift.pdf

关于OPENCV B4.0 库的使用方法以及相关问题,请查阅下面的相关文章:

https://www.360docs.net/doc/507850392.html,/display_topic_threads.asp?ForumID=11&Top icID=3471

运行文件下载:

https://www.360docs.net/doc/507850392.html,/product_tech/Demo_Download_files/camshiftd emo.exe

该运行文件在VC6.0环境下编译通过,是一个 stand-alone 运行程序,不需要OPENCV的DLL库支持。在运行之前,请先连接好USB接口的摄像头。然后可以用鼠标选定欲跟踪目标。

#ifdef _CH_

#pragma package

#endif

#ifndef _EiC

#include "cv.h"

#include "highgui.h"

#include

#include

#endif

IplImage *image = 0, *hsv = 0, *hue = 0, *mask = 0, *backproject = 0, *histimg = 0;

CvHistogram *hist = 0;

int backproject_mode = 0;

int select_object = 0;

int track_object = 0;

int show_hist = 1;

CvPoint origin;

CvRect selection;

CvRect track_window;

CvBox2D track_box; // tracking 返回的区域 box,带角度CvConnectedComp track_comp;

int hdims = 48; // 划分HIST的个数,越高越精确

float hranges_arr[] = {0,180};

float* hranges = hranges_arr;

int vmin = 10, vmax = 256, smin = 30;

void on_mouse( int event, int x, int y, int flags )

{

if( !image )

return;

if( image->origin )

y = image->height - y;

if( select_object )

{

selection.x = MIN(x,origin.x);

selection.y = MIN(y,origin.y);

selection.width = selection.x + CV_IABS(x - origin.x);

selection.height = selection.y + CV_IABS(y - origin.y);

selection.x = MAX( selection.x, 0 );

selection.y = MAX( selection.y, 0 );

selection.width = MIN( selection.width, image->width );

selection.height = MIN( selection.height, image->height );

selection.width -= selection.x;

selection.height -= selection.y;

}

switch( event )

{

case CV_EVENT_LBUTTONDOWN:

origin = cvPoint(x,y);

selection = cvRect(x,y,0,0);

select_object = 1;

break;

case CV_EVENT_LBUTTONUP:

select_object = 0;

if( selection.width > 0 && selection.height > 0 )

track_object = -1;

#ifdef _DEBUG

printf("\n # 鼠标的选择区域:");

printf("\n X = %d, Y = %d, Width = %d, Height = %d",

selection.x, selection.y, selection.width, selection.height); #endif

break;

}

}

CvScalar hsv2rgb( float hue )

{

int rgb[3], p, sector;

static const int sector_data[][3]=

{{0,2,1}, {1,2,0}, {1,0,2}, {2,0,1}, {2,1,0}, {0,1,2}};

hue *= 0.033333333333333333333333333333333f;

sector = cvFloor(hue);

p = cvRound(255*(hue - sector));

p ^= sector & 1 ? 255 : 0;

rgb[sector_data[sector][0]] = 255;

rgb[sector_data[sector][1]] = 0;

rgb[sector_data[sector][2]] = p;

#ifdef _DEBUG

printf("\n # Convert HSV to RGB:");

printf("\n HUE = %f", hue);

printf("\n R = %d, G = %d, B = %d", rgb[0],rgb[1],rgb[2]);

#endif

return cvScalar(rgb[2], rgb[1], rgb[0],0);

}

int main( int argc, char** argv )

{

CvCapture* capture = 0;

IplImage* frame = 0;

if( argc == 1 || (argc == 2 && strlen(argv[1]) == 1 &&

isdigit(argv[1][0])))

capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 ); else if( argc == 2 )

capture = cvCaptureFromAVI( argv[1] );

if( !capture )

{

fprintf(stderr,"Could not initialize capturing...\n");

return -1;

}

printf( "Hot keys: \n"

"\tESC - quit the program\n"

"\tc - stop the tracking\n"

"\tb - switch to/from backprojection view\n"

"\th - show/hide object histogram\n"

"To initialize tracking, select the object with mouse\n" );

//cvNamedWindow( "Histogram", 1 );

cvNamedWindow( "CamShiftDemo", 1 );

cvSetMouseCallback( "CamShiftDemo", on_mouse ); // on_mouse 自定义事件

cvCreateTrackbar( "Vmin", "CamShiftDemo", &vmin, 256, 0 );

cvCreateTrackbar( "Vmax", "CamShiftDemo", &vmax, 256, 0 );

cvCreateTrackbar( "Smin", "CamShiftDemo", &smin, 256, 0 );

for(;;)

{

int i, bin_w, c;

frame = cvQueryFrame( capture );

if( !frame )

break;

if( !image )

{

/* allocate all the buffers */

image = cvCreateImage( cvGetSize(frame), 8, 3 );

image->origin = frame->origin;

hsv = cvCreateImage( cvGetSize(frame), 8, 3 );

hue = cvCreateImage( cvGetSize(frame), 8, 1 );

mask = cvCreateImage( cvGetSize(frame), 8, 1 );

backproject = cvCreateImage( cvGetSize(frame), 8, 1 );

hist = cvCreateHist( 1, &hdims, CV_HIST_ARRAY, &hranges, 1 ); // 计算直方图

histimg = cvCreateImage( cvSize(320,200), 8, 3 );

cvZero( histimg );

}

cvCopy( frame, image, 0 );

cvCvtColor( image, hsv, CV_BGR2HSV ); // 彩色空间转换 BGR to HSV

if( track_object )

{

int _vmin = vmin, _vmax = vmax;

cvInRangeS( hsv, cvScalar(0,smin,MIN(_vmin,_vmax),0),

cvScalar(180,256,MAX(_vmin,_vmax),0),

mask ); // 得到二值的MASK

cvSplit( hsv, hue, 0, 0, 0 ); // 只提取 HUE 分量

if( track_object < 0 )

{

float max_val = 0.f;

cvSetImageROI( hue, selection ); // 得到选择区域 for ROI

cvSetImageROI( mask, selection ); // 得到选择区域 for mask

cvCalcHist( &hue, hist, 0, mask ); // 计算直方图

cvGetMinMaxHistValue( hist, 0, &max_val, 0, 0 ); // 只找最大值

cvConvertScale( hist->bins, hist->bins, max_val ? 255. / max_val : 0., 0 ); // 缩放 bin 到区间 [0,255]

cvResetImageROI( hue ); // remove ROI

cvResetImageROI( mask );

track_window = selection;

track_object = 1;

cvZero( histimg );

bin_w = histimg->width / hdims; // hdims: 条的个数,则 bin_w 为条的宽度

// 画直方图

for( i = 0; i < hdims; i++ )

{

int val =

cvRound( cvGetReal1D(hist->bins,i)*histimg->height/255 );

CvScalar color = hsv2rgb(i*180.f/hdims);

cvRectangle( histimg,

cvPoint(i*bin_w,histimg->height),

cvPoint((i+1)*bin_w,histimg->height - val),

color, -1, 8, 0 );

}

}

cvCalcBackProject( &hue, backproject, hist ); // 使用 back project 方法

cvAnd( backproject, mask, backproject, 0 );

// calling CAMSHIFT 算法模块

cvCamShift( backproject, track_window,

cvTermCriteria( CV_TERMCRIT_EPS |

CV_TERMCRIT_ITER, 10, 1 ),

&track_comp, &track_box );

track_window = track_comp.rect;

if( backproject_mode )

cvCvtColor( backproject, image, CV_GRAY2BGR ); // 使用backproject灰度图像

if( image->origin )

track_box.angle = -track_box.angle;

cvEllipseBox( image, track_box, CV_RGB(255,0,0), 3, CV_AA, 0 );

}

if( select_object && selection.width > 0 && selection.height > 0 )

{

cvSetImageROI( image, selection );

cvXorS( image, cvScalarAll(255), image, 0 );

cvResetImageROI( image );

}

cvShowImage( "CamShiftDemo", image );

cvShowImage( "Histogram", histimg );

c = cvWaitKey(10);

if( c == 27 )

break; // exit from for-loop

switch( c )

{

case 'b':

backproject_mode ^= 1;

break;

case 'c':

track_object = 0;

cvZero( histimg );

break;

case 'h':

show_hist ^= 1;

if( !show_hist )

cvDestroyWindow( "Histogram" ); else

cvNamedWindow( "Histogram", 1 ); break;

default:

;

}

}

cvReleaseCapture( &capture );

cvDestroyWindow("CamShiftDemo");

return 0;

}

#ifdef _EiC

main(1,"camshiftdemo.c");

#endif

课时跟踪检测(二十四) 正弦定理和余弦定理

课时跟踪检测(二十四) 正弦定理和余弦定理 1.在△ABC 中,a 、b 分别是角A 、B 所对的边,条件“a cos B ”成立的( ) A .充分不必要条件 B .必要不充分条件 C .充要条件 D .既不充分也不必要条件 2.(2019·惠州模拟)在△ABC 中,a ,b ,c 分别是角A ,B ,C 所对的边.若A =π3,b = 1,△ABC 的面积为 3 2 ,则a 的值为( ) A .1 B .2 C.32 D. 3 3.(2019·“江南十校”联考)在△ABC 中,角A ,B ,C 所对的边分别为a ,b ,c ,已知a =23,c =22,1+tan A tan B =2c b ,则C =( ) A .30° B .45° C .45°或135° D .60° 4.(2019·陕西高考)在△ABC 中 ,角A ,B ,C 所对边的长分别为a ,b ,c ,若a 2+b 2 =2c 2,则cos C 的最小值为( ) A.3 2 B. 22 C.12 D .-1 2 5.(2019·上海高考)在△ABC 中,若sin 2 A +sin 2B

室内设计经典布光思路及灯光讲解

室内设计经典布光思路及灯光讲解 有个著名而经典的布光理论就是“三点照明”。笔者在此简述一 下:三点照明,又称为区域照明,一般用于较小范围的场景照明。如果场景很大,可以把它拆分成若干个较小的区域进行布光。一般有三盏灯即可,分别为主体光、辅助光与背景光。 主体光:通常用它来照亮场景中的主要对象与其周围区域,并且担任给主体对象投影的功能。主要的明暗关系由主体光决定,包括投影的方向。主体光的任务根据需要也可以用几盏灯光来共同完成。如:主光灯在1 5度到30度的位置上,称顺光;在45度到90度的位置上, 称为侧光;在90度到120度的位置上成为侧逆光。主体光常用聚光灯来完成。笔者喜欢把主体光的亮度设置为240左右。辅助光: 又称为补光。用一个聚光灯照射扇形反射面,以形成一种均匀的、非直射性的柔和光源,用它来填充阴影区以及被主体光遗漏的场景区域、调和明暗区域之间的反差,同时能形成景深与层次,而且这种广泛均匀布光的特性使它为场景打一层底色,定义了场景的基调。由于要达到柔和照明的效果,通常辅助光的亮度只有主体光的 5 0%-80% 背景光:它的作用是增加背景的亮度,从而衬托主体,并使主体对象与背景相分离。一般使用泛光灯,亮度宜暗不可太亮。 布光的顺序是:1)先定主体光的位置与强度;2)决定辅助光的强度与角度;3)分配背景光与装饰光。这样产生的布光效果应该能达到主次分明,互相补充。布光还有几个地方需要特别注意:1)灯光宜精不宜多。过多的灯光使工作过程变得杂乱无章,难以处理,显

示与渲染速度也会受到严重影响。只有必要的灯光才能保留。另外要注意 灯光投影与阴影贴图及材质贴图的用处,能用贴图替代灯光的地方最好用贴图去做。例如要表现晚上从室外观看到的窗户内灯火通明的效果,用自发光贴图去做会方便得多,效果也很好,而不不要用灯光去模拟。切忌随手布光,否则成功率将非常低。对于可有可无的灯光,要坚决不予保留。 2)灯光要体现场景的明暗分布,要有层 次性,切不可把所有灯光一概处理。根据需要选用不同种类的灯光,如选用聚光灯还是泛光灯;根据需要决定灯光是否投影,以及阴影的浓度;根据需要决定灯光的亮度与对比度。如果要达到更真实的效果,一定要在灯光衰减方面下一番功夫。可以利用暂时关闭某些灯光的方法排除干扰对其他的灯光进行更好地设置。 3)要知道max中的灯光是可以超现实的。要学会利用灯光的“排除” 与“包括”功能,绝对灯光对某个物体是否起到照明或投影作用。例如要模拟烛光的照明与投影效果,我们通常在蜡烛灯芯位置放置一盏泛光灯。如果这盏灯不对蜡烛主体进行投影排除,那么蜡烛主体产生在桌面上的很大一片阴影可能要让我们头痛半天。在建筑效果图中,也往往会通过“排除”的方法使灯光不对某些物体产生照明或投影效果。 4)布光时应该遵循由主体到局部、由简到繁的过程。对于灯光效果的形成,应该先调角度定下主格调,再调节灯光的衰减等特性来增强现实感。 最后再调整灯光的颜色做细致修改。 灯光的分类及其属性 在3DMA中,灯光分为标准灯光与光度学灯光,还有制作室内效果图

CamShift算法

o Camshift 算法 引言 大多数特征跟踪算法的执行都遵循下图所示的目标预测——特征检测——模板匹配——更新四个步骤的闭环结构。首先,以前一帧目标位置和一些运动模型为基础,预测当前帧中目标的可能位置。接着,候选区域的特征和初始特征相匹配,通过优化匹配准则来选择最好的匹配对象,其相应的目标区域即为目标在本帧的位置。算法设计的不同常常由于选择什么特征、预测如何进行、如何选择匹配准则等的不同而不同。许多对目标跟踪算法的完善也是从这三个方面寻找改善措施的 。 除了位置更新步骤,其余三个步骤一般在一个迭代中完成。目标预测步骤主要基于目标的运动模型,运动模型可以是很简单的等速平移运动,也可以是很复 杂的曲线运动。特征检测步骤是在目标区域通过相应的图像处理技术获得特征值,组合成待匹配模板。

d h 模板匹配步骤是选择最匹配的待匹配模板,它的所在区域即是目标在当前帧的位置区域。一般以对目标表象的变化所作的一些合理的假设为基础,—个常用的方法是候选特征与初始特征的互相关系数最小。 三个步骤不断往复。更新步骤常常有两种,一是指对初始模板(特征)的更新,这是因为在目标的运动中,它的姿态、环境的照度等会发生变化,因此模板更新有利于跟踪的继续进行;二是指位置的更新,当在当前帧中找到与目标模板最匹配的模板后,常把该模板的中心位置作为目标在当前帧中的位置,并用该位置对目标的初始位置进行更新,作为下一帧处理时的目标初始位置。 1,Camshift原理 CamShift利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的中心位置。 2,目标表示(颜色概率分布图) (1) RGB颜色空间对光照亮度变化较为敏感,为了减少此变化对跟踪效果的影响,首先将图像从RGB空间转换到HSV空间。

光线跟踪讲解及源代码

计算机图形学期末作业 作业题目:Ray Tracing算法的实现 姓名:李海广 学号:S130201036 任课教师:秦红星

摘要 Ray Tracing算法又叫光线跟踪算法,它能通过递归方法逐个计算每个像素点的光强,然后就可以绘制出高度真实感的图像,因此该方法在图形学领域得到了广泛的应用。Ray Tracing算法的思想还能应用到移动通信终端定位领域,该领域里的射线跟踪法与此算法思想类似。MFC是微软公司提供的一个类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC在处理Windows窗口应用程序方面具有很大的优势,因此,本文使用MFC在VC6.0里实现Ray Tracing算法,并给出了该算法的详细讲解。 【关键词】Ray tracing 光线跟踪递归像素光强 MFC C++

目录 1.Ray Tracing算法概述 (1) 1.1Ray Tracing算法简介 (1) 1.2Ray Tracing算法的实现原理 (1) 2.Ray Tracing算法的具体实现 (2) 2.1算法的实现环境 (2) 2.2实现算法的C++程序简介 (2) 2.3算法的具体实现过程 (3) 2.4 程序运行结果 (11) 3.总结 (11) 3.1 通过该算法学到的东西 (11) 3.2本程序未完成的任务 (12) 4.参考文献 (12)

1.Ray Tracing算法概述 1.1Ray Tracing算法简介 光线跟踪(Ray tracing),又称为光迹追踪或光线追迹,它是来自于几何光学的一项通用技术,它通过跟踪与光学表面发生交互作用的光线从而得到光线经过路径的模型。它用于光学系统设计,如照相机镜头、显微镜、望远镜以及双目镜等。这个术语也用于表示三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术将具有一定数学模型的场景显现出来。这样得到的结果类似于光线投射与扫描线渲染方法的结果,但是这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以在追求高质量结果时我们经常使用这种方法。 在光线跟踪的过程中,我们要考虑许多因素。要跟踪的光线包括反射光线、散射光线和镜面反射光线,利用递归方法并且设定一定的阀值来跟踪;在计算光强度时,我们要考虑场景中物体的反射系数、漫反射系数和镜面反射系数,还有交点处的法向量,出射光线的方向向量;在求视线以及反射光线和场景中物体的交点时,要计算出离眼睛以及出射点最近的交点作为击中点,得到击中点之后,我们就可以计算出击中点的坐标。最终,通过三个公式计算出每一个像素点处三种光线的光强值,再将三个光强值相加,就得到了该像素点出的总光强值,最后将颜色缓冲器中的三种颜色值输出到屏幕上,就得到了我们需要的光线跟踪图像。 1.2Ray Tracing算法的实现原理 (1)对图像中的每一个像素,创建从视点射向该像素的光线; (2)初始化最近时间T为一个很大的值,离视点最近的物体指针设为空值; (3)对场景中的每一个物体,如果从视点出发的光线和物体相交,且交点处的时间t比最近时间T小,则将t的值赋给最近时间T,并设置该物体为最近物体,将物体指针指向该物体; (4)经过第三步的计算后,如果最近物体指针指向空值NULL,则用背景色填充该像素。如果该指针指向光源,则用光源的颜色填充该像素;

语文浙江专版:课时跟踪检测(二十四)+语言表达的简明、得体+Word版含答案.doc

课时跟踪检测(二十四)语言表达的简明、得体 1.阅读下面两段文字,回答后面的问题。(6分) (一)如今,许多外国人非常 ..①热衷于.②学习中文,有些还要学习使用筷子。他们把筷子 称之.③为东方饮食文化的象征。中国人对于筷子来说 ..④是.⑤再熟悉不过了,但其背后的文 化却未必人人清楚。筷子的历史起码 ..⑥有三千多年,其名称源自于.⑦江南水乡,筷子最早的名称为“箸”,但古代水乡船家忌讳言“住”,希望快快行船,故改“箸”为“筷”,并沿用至今。 (二)筷子有诸多美好寓意。民间吉祥话,说“筷子筷子,快快生子”;筷子送恋人,寓意“”;筷子送朋友,意味着“平等友爱,和睦同心”。使用筷子也有一些禁忌。如“执箸巡城”(满桌巡视,随意翻拣),“”(吮嘬筷子,品咂有声),“泪箸遗珠”(夹菜带汤,沿途淋漓),等等。 (1)文段(一)中有些加点的词语必须删去,请将其序号写在下面的横线上。(2分) 答: (2)在文段(二)中的横线处填写恰当的语句,使上下文内容相关、句式一致。(4分) 答: 答案:(1)①③④⑦(2)成双成对,永不分离品箸留声 2.阅读下面一段话,本着文字简明的原则,完成文后两题。(把序号填在横线处)(4分) 深圳南方公司,①在改革开放形势的推动下,②为了避免对来深圳南方公司应聘的人以是否名牌大学毕业而选择录用的先入为主的弊端,以聚集人才,③今年招聘大学毕业生,不再问毕业学校。他们认为,④任何一个一流企业如果不注重选拔人才注入新鲜血液,⑤如果仅凭是否名牌大学选择人才的话,将很难发展。 (1)应删去的两处语句是(写画线处的序号)。 (2)应简略的一处语句是(写画线处的序号),可简略为。 解析:本段文字主要介绍深圳南方公司用人的新理念,①是介绍时代背景,与选拔人才没有必然关系,应删去;④说的是“任何一个一流企业如果不注重选拔人才”,这与本公司用人的新理念没有关系,所以是多余的。②句冗长难以理解,应予以删减压缩。 答案:(1)①④(2)②为了避免先入为主的弊端 3.为使下面的语段简明顺畅,请指出必须改动和删掉的词语。(只填写应删词语的序号)(4分) 2018~2019年度,我校将扩大招生规模 ①,由原来的22个教学班级 ② 增加到28个。由于 我校教室本已十分 ③严重 ④ 不足,因此亟须新建教室。现在,虽然我们已多方进行 ⑤ 筹措,但经

Camshift算法原理

Camshift原理 camshift利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的中心位置。 分为三个部分: 1--色彩投影图(反向投影): (1).RGB颜色空间对光照亮度变化较为敏感,为了减少此变化对跟踪效果的影响,首先将图像从RGB空间转换到HSV空间。(2).然后对其中的H分量作直方图,在直方图中代表了不同H分量值出现的概率或者像素个数,就是说可以查找出H分量大小为h的概率或者像素个数,即得到了颜色概率查找表。(3).将图像中每个像素的值用其颜色出现的概率对替换,就得到了颜色概率分布图。这个过程就叫反向投影,颜色概率分布图是一个灰度图像。 2--meanshift meanshift算法是一种密度函数梯度估计的非参数方法,通过迭代寻优找到概率分布的极值来定位目标。 算法过程为: (1).在颜色概率分布图中选取搜索窗W (2).计算零阶距: 计算一阶距: 计算搜索窗的质心: (3).调整搜索窗大小 宽度为;长度为1.2s; (4).移动搜索窗的中心到质心,如果移动距离大于预设的固定阈值,则重复2)3)4),直到搜 索窗的中心与质心间的移动距离小于预设的固定阈值,或者循环运算的次数达到某一最大值,停止计算。关于meanshift的收敛性证明可以google相关文献。 3--camshift 将meanshift算法扩展到连续图像序列,就是camshift算法。它将视频的所有帧做meanshift 运算,并将上一帧的结果,即搜索窗的大小和中心,作为下一帧meanshift算法搜索窗的初始值。如此迭代下去,就可以实现对目标的跟踪。 算法过程为: (1).初始化搜索窗 (2).计算搜索窗的颜色概率分布(反向投影) (3).运行meanshift算法,获得搜索窗新的大小和位置。

材料进场验收、平行检测跟踪监测监理实施细则

越秀南浦村地块项目 监理实施细则 (材料进场验收、平行检测、跟踪检测)批准: 审核: 编制: 创南工程管理有限公司 二零一四年三月十九日

目录 1、工程概况 (2) 2、验收及检测依据 (2) 3、材料进场验收程序及取样试验 (2) 4、平行检测 (4) 5、跟踪检测 (11) 6、试验委托与报告的领取 (11) 7、附表 (11)

1.工程概况 禅城区南浦村地块项目基坑支护、工程桩及土工程由四块地块组成,总建筑面积约为297261 m2。其中:地块一建筑面积5149.53 m2,由1层地下室及1栋5层商业楼组成;地块二建筑面积79921.47 m2,由2层地下室、3层商业裙楼、1栋25层办公楼及1栋27层公寓塔楼组成;地块三建筑面积195627.10 m2,由2层地下室、2层商业楼及11栋24~32层住宅楼组成;地块四建筑面积16902.33 m2,由1层地下室、2层商业裙楼及1栋19层公寓塔楼组成。 2.验收及检测的依据 1)和行业部门有关的法律、法规、规章等; 2)批准的设计文件,包括设计图纸与说明、设计变更,本工程设计采用的技术规和标准; 3)建设单位与承包商签定的工程承发包合同、招投标文件及商务标; 4)监理合同; 5)监理规; 6)现行的质量检测技术标准。 3.材料进场验收程序及取样试验 所有进场材料必须是经施工单位检验合格、监理工程师验收合格的材料,禁未经验收的材料用于工程施工。 3.1水泥、粉煤灰、矿渣粉、聚硫密封胶、外加剂等罐或容器储存的材料的进场验收程序 水泥、粉煤灰、矿渣粉、聚硫密封胶、外加剂等罐或容器储存的材料,在材料进场时施工单位质检人员首先检查合格证、材质化验单,并检查外观质量有无结块变质现象,验收合格后通知监理工程师。监理工程师对随车合格证、材质化验单进行核验,并核对与材料是否相符,来源厂家是否经过批准;对随车相关资料和外观质量验收合格后,施工单位试验室人员及时对材料取样试验,施工单位试验室检测合格后,及时将材料合格证、材质化验单、检验报告等一并报监理工程师核查并备案。

目标跟踪算法的分类

目标跟踪算法的分类

主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。 一.运动目标检测 对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测 (一)静态背景 1.背景差 2.帧差 3.GMM 4.光流 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定

个关键技术: a)匹配法则,如最大相关、最小误差等 b)搜索方法,如三步搜索法、交叉搜索法等。 c) 块大小的确定,如分级、自适应等。 光流法 光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标与场景的灰度不随时间变化。这使得光流方法抗噪声能力较差,其应用范围一般局限于目标与场景的灰度保持不变这个假设条件下。另外,大多数的光流计算方法相当复杂,如果没有特别的硬件装置,其处理速度相当慢,达不到实时处理的要求。 二.目标跟踪 运动目标的跟踪,即通过目标的有效表达,在图像序列中寻找与目标模板最相似候选目标区位置的过程。简单说,就是在序列图像中为目标定位。运动目标的有效表达除了对运动目标建模外,目标跟踪中常用到的目标特性表达主要包括视觉特征 (图像边缘、轮廓、形状、纹理、区域)、统计特征 (直方图、各种矩特征)、变换系数特

课时跟踪检测(二十三) 电场能的性质

课时跟踪检测(二十三)电场能的性质 [A级——基础小题练熟练快] 1.(2019·湖北八校联考)下列说法正确的是() A.带电粒子仅在电场力的作用下一定做匀变速运动 B.带电粒子仅在电场力的作用下运动时,动能一定增加 C.电场力做正功,带电粒子的电势一定降低 D.电场力做正功,带电粒子的电势能一定减少 解析:选D只有电场是匀强电场时,带电粒子仅在电场力的作用下做匀变速运动,A 错误;如果电场力做负功,则动能减小,B错误;电场力做正功,电势能一定减小,负电荷从低电势向高电势运动,故C错误,D正确。 2.(2020·山东济南模拟)如图所示,等量异种点电荷P、Q连线中点 处有一电子,在外力F作用下处于静止状态。现让电荷Q沿连线向右 移动一小段距离,此过程中电子一直处于静止状态。下列说法正确的是() A.外力F逐渐减小,电子的电势能逐渐增大 B.外力F逐渐增大,电子的电势能逐渐增大 C.外力F逐渐增大,电子的电势能逐渐减小 D.外力F逐渐减小,电子的电势能逐渐减小 解析:选D由题意可知,外力F向右,则电场力向左,可知P带正电,Q带负电;当电荷Q沿连线向右移动一小段距离时,电子所在的位置场强减小,电势升高,则电子受的电场力减小,外力F逐渐减小,电子的电势能降低,故选项D正确,A、B、C错误。 3.(2019·浙江东阳中学模拟)如图所示,MN是由一个正点电荷Q产生的 电场中的一条电场线,一个带正电的粒子+q飞入电场后,在电场力的作用 下沿一条曲线运动,先后通过a、b两点,不计粒子的重力,则() A.粒子在a点的加速度小于在b点的加速度 B.a点电势φa小于b点电势φb C.粒子在a点的动能E k a小于在b点的动能E k b D.粒子在a点的电势能E p a小于在b点的电势能E p b 解析:选C由题图可知粒子受力应向左方,因粒子带正电,故电场线的方向应向左,故正点电荷Q应在N一侧,故a处的场强大于b处的场强,故粒子在a处的电场力大于b

三维影像渲染基本概要

三维图像渲染基本概要 渲染(Render)是用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”。另外渲染也用于描述计算视频编辑文件中的效果以生成最终视频输出的过程。 渲染是三维计算机图形学中的最重要的研究课题之一,并且在实践领域它与其它技术密切相关。在图形流水线中渲染是最后一项重要步骤,通过它得到模型与动画最终显示效果。自从二十世纪七十年代以来随着计算机图形的不断复杂化,渲染也越来越成为一项重要的技术。 渲染的应用领域有:计算机与视频游戏、模拟、电影或者电视特效以及可视化设计,每一种应用都是特性与技术的综合考虑。作为产品来看,现在已经有各种不同的渲染工具产品,有些集成到更大的建模或者动画包中,有些是独立产品,有些是开放源代码的产品。从内部来看,渲染工具是都是根据各种学科理论经过仔细设计的程序,其中有:光学、视觉感知、数学以及软件开发。 三维计算机图形的预渲染或者实时渲染的速度都非常慢。预渲染的计算强度很大,通常是用于电影制作;实时渲染经常用于三维视频游戏,通常依靠带有三维硬件加速器的图形卡完成这个过程。 使用在图像初步建立(通常使用网格骨架构建)之后,就要进行

渲染了。渲染将会在上面添加位图纹理或者程序纹理、照明、凸凹纹理映射以及相对于其它物体的位置。得到的结果就是消费者或者观察者所能看到的完整图像。 对于电影动画来说,需要渲染几幅或几帧图像,并且将这些图像在动画制作程序中将它们连结在一起。大多数的三维图像编辑程序都能够完成这项工作。 特性 渲染的图像有许多显著的特性,渲染研究的领域也主要集中在寻找高效模拟这些特性的方法。有些特性只与特定的算法有关,有些却与多个算法相关。 ●浓淡处理 — 表面颜色与亮度随光照的变化 ●纹理映射 — 在表面生成细节的方法 ●凸凹纹理映射 — 在表面模拟小凸凹的方法 ●距离模糊 — 光照穿过不清澈的大气时的模糊 ●阴影 — 阻挡光照的效果 ●柔和阴影 — 非常微弱的光源生成的暗处 ●反射 — 镜子或者非常光滑的反射 ●透明 — 固体明显允许光线穿过 ●半透明 — 光线通过固体高度散射 ●折射 — 与透明相关的光线弯曲

什么是光线追踪技术,以及它的历史-

什么是光线追踪技术,以及它的历史? 编者按:本文作者Blake Patterson是一名全栈开发者,他在文中向我们简单科普了什么是光线追踪技术,以及它的历史。 在目前的PC图形硬件中,讨论最多的技术是一项成为光线追踪(ray tracing)的渲染技术。该技术风靡的原因,都源于几年前英伟达发布的RTX开发平台,以及微软而后推出的针对DirectX 12的DirectX Raytracing(DXR)API。DXR可以让Windows开发者在3D环境中加快GPU进行实时光线追踪的速度。这对游戏爱好者来说是个重大利好,因为光线追踪可以实现更真实的光线渲染,可以在3D场景中进行现实中的动作。 但是,目前仅有少部分游戏能够使用DXR所支持的渲染功能,并且很少有GPU在设计时会将DXR考虑在内、将光线追踪计算的加速作为主要目标。但目前来看,光线追踪仍然热度不减,很多从业者依然愿意为此花大价钱买一台GPU。 今年8月14日,英伟达发布了新一代GPU架构——图灵(Turing),以下是国外某网站关于此事的报道: “英伟达于周一发布了下一代图形架构Turing,名字来源于上世纪初人工智能之父、计算机科学家Alan Turing。 最新的图形处理单元(GPU)比传统图形处理工作负载量更大,其中嵌入了针对人工智能任务和一种新的图形渲染技术(称为光线追踪)的加速器。” 但是,光线追踪并不是新技术。事实上,它几乎和最早的3D计算机图形技术一同出现。什么是光线追踪?A.J. van der Ploeg在他的文章Interactive Ray Tracing:The Replacement of Rasterization?中这样描述: “在计算机图形中,如果我们有一个三维场景,通常我们会想知道该场景在虚拟摄像机中是如何呈现的。这种计算虚拟相机中图像的方法就称作渲染。 目前渲染的标准方法是光栅化(rasterization),这是一种局部光线渲染方法。它是将从其他表面反射的光也算作在内,例如镜子中的光线。这对倒影或影子的渲染非常重要。例如,

水利工程平行检测计划

平行检测计划 一、项目概况 故城县 2015 年地下水超采综合治理坊庄乡地表水灌溉项目,工程分 为6 个标段,工期 130 天。主要任务是开展以新建桥闸涵、河道、坑塘清淤及田间灌溉工程为主的综合性治理的水利工程。 二、依据内容 平行检验是施工阶段建设工程监理对工程实体进行质量控制的重要手 段。 监理规范中明确规定平行检验的做法:即项目监理机构利用一定的检查或检测手段,在承包单位自检的基础上,按照一定的比例独立进行检查或检测活动。”( GB50319-2000)。 《水利水电建设工程验收规程》 SL223-2007 中明确了建筑工程施工质量控制及验收必须由监理机构检查认可并得结论。 因此,监理机构必须正确运用平行检验这一手段做好工程质量的过程控 制工作。 一、国家有关法律、法规目录 1、《中华人民共和国招标投标法》 2、《中华人民共和国产品质量法》 3、《中华人民共和国建筑法》

4、《建设工程质量管理条例》 5、《水利工程建设项目施工监理规范》 6、《水电水利工程施工监理规范》 7、《水利工程建设监理单位管理办法》 8、《水利工程建设监理工程师管理办法》 9、《水利工程质量管理规定》 10、《水利工程质量监督管理规定》 11、《水利基本建设项目(工程)档案资料管理规定》 12、《水利工程建设项目施工分包管理规定》 13、《建设工程监理与相关服务收费管理规定》 14、《水利工程监理合同示范文本》 15、《水利水电工程施工合同和招标文件示范文本》 16、《水利工程质量事故处理暂时规定》 二、技术标准、规程、规范目录 1、《水利水电建设工程验收规程》 2、《水利水电工程施工质量检验与评定规程》 3、《水利水电工程施工组织设计规范》 4、《水利水电基本建设工程单元工程质量等级评定标准》 5、《防洪标准》 6、《水利水电工程施工测量规范》 7、《土工合成材料测试规程》 8、《水利水电建设工程验收规程sl223-2008 》

课时跟踪检测 (二十) 指 数

课时跟踪检测 (二十) 指 数 层级(一) “四基”落实练 1.计算: -x 3=( ) A .x -x B .-x x C .-x -x D .x x 解析:选C 由已知,得-x 3≥0,所以x ≤0,所以-x 3= (-x )·x 2= -x ·x 2= -x ·|x |=-x -x ,选C. 2.设2a =5b =m ,且1a +1 b =2,则m 等于( ) A.10 B .10 C .20 D .100 解析:选A ∵2a =m,5b =m ,∴2=m 1a ,5=m 1b ,∵2×5=m 1a ·m 1b =m 1a +1b ,∴m 2=10,∴m =10.故选A. 3.已知a >0,将 a 2a ·3 a 2 表示成分数指数幂,其结果是( ) A .a 12 B .a 56 C .a 7 6 D .a 3 2 解析:选C a 2 a ·3 a 2 =a 2÷23·a a ?? ???1 2=a 526 -=a 76,故选C. 4.计算(2n +1)2·??? ?122n +14n ·8 -2 (n ∈N *)的结果为( ) A.1 6 4 B .22n + 5 C .2n 2-2n +6 D .????122n - 7 解析:选D 原式=22n +2·2-2n -1(22)n ·(23)-2=21 22n -6=27-2n =????122n -7. 5.(多选)下列式子中,正确的是( ) A .(27a 3) 1 3 ÷0.3a - 1=10a 2

B.2233a b ?? ???-÷1133a b ?? ??? +=a 13 -b 1 3 C.[]()22+32(22-3)2 1 2 =-1 D.4 a 3 a 2a =24 a 11 解析:选ABD 对于 A ,原式=3a ÷0.3a -1= 3a 2 0.3 =10a 2,A 正确;对于B ,原式=1111 3333113 3 a b a b a b ???? ???????-++=a 13-b 13,B 正确;对于C ,原式=[(3+22)2(3-22)2] 12=(3+ 22)(3-22)=1.这里注意3>22,a 12 (a ≥0)是正数,C 错误;对于D ,原式= = a 1124 = 24 a 11,D 正确. 6.使等式 (x -2)(x 2-4)=(x -2)x +2成立的x 的取值范围为________. 解析:若要等式成立.需满足x ≥2. 答案:[2,+∞) 7.计算:(0.008 1) 14 --????3×????560×130.2527818? ????? ????? ?? --+1 2 - -10×(0.027) 13 = ________. 解析:原式=103-3×????13+231 2--3=-83. 答案:-8 3 8.若a =2,b >0,则 12 2 12 a b a a b ++(a 12 -b 13 - )(a +a 12 b 13 - +b 23 - )的值为________. 解析:原式=a 3 2 +b -1+12a ?? ???3-13b ?? ??? -3=a 32+b -1+a 32-b -1=2a 32=2×232=4 2. 答案:4 2 9.计算下列各式: (1)(-x 13 y 13 -)(3x 12 - y 23)(-2x 16y 23 );

在MFC对话框的控件中显示Opencv摄像头视频+Camshift跟踪算法实现

在MFC对话框的控件中显示Opencv摄像头视频+Camshift跟踪算法实现 2010-05-07 16:31 一般用opencv显示视频,都用cvNamedWindow新建窗口,并且在while循环中更新每一帧视频,由于窗口是opencv自己创建的,所以在VC中很难对其进行控制,出于这个目的,希望能将视频显示在VC能够控制的部件中。这里给出一个实例说明如何在MFC对话框的picture控件中显示摄像头视频。 主要步骤为: 1.建立对话框工程并设置对话框布局 注意对话框中间的是picture控件用于显示视频。 2.和console的程序一样,设置opencv库环境,加入opencv头文件,并定义所需要的变量。 3.关键的是这一步,定义CvvImage类型的变量m_CvvImage,这个类型的变量里有函数DrawToHDC能在MFC的控件中显示视频。 还有一个关键的一步是设置定时器timer,MFC中不用while循序来更新每帧视频,取而代之的是在定时器timer的响应函数中实现视频的更新,在本程序中每100毫秒进入一次定时器,定时器响应时间可以更改。 这里给出“打开摄像头”和定时器timer的响应函数。 01void COpencvUIDlgDlg::OnOpencamera() //打开摄像头按钮的响应函数

02{ 03// TODO: Add your control notification handler code here 04m_Video=cvCreateCameraCapture(-1);//打开摄像头 05 06if (!m_Video) 07return; 08 09SetTimer(1,100,NULL);//设置定时器 10} 11 12void COpencvUIDlgDlg::OnTimer(UINT nIDEvent) //定时器的响应函数 13{ 14// TODO: Add your message handler code here and/or call default 15// KillTimer(nIDEvent); 16m_Frame=cvQueryFrame(m_Video);//m_Frame是IplImage指针类型 17m_CvvImage.CopyOf(m_Frame,1);//m_CvvImage是CvvImage类型 18m_CvvImage.DrawToHDC(hDC,&rect); 19//将CvvImage显示在picture控件中,hDC是picture控件的句柄.rect是picture的区域. 20b_flagProcess=1; 21 22CDialog::OnTimer(nIDEvent); 23} 4.加入截图和保存视频功能。 本程序下载地址:https://www.360docs.net/doc/507850392.html,/source/1617588 --------------------------------------------------------------------------------------------------------------------------------- 可以对本程序进行二次开发,下面实现在上述程序的基础上实现Camshift跟踪算法。 Opencv中自带Camshift跟踪算法的实现(OpenCV\samples\c\camshiftdemo.c),不过是基于console的,在MFC中实现则不能用其本来的鼠标回调函数来定位目标,而要改用MFC的鼠标消息响应函数。 运行结果为:

光线跟踪器参数

虚拟现实场景制作中,用于室外渲染的渲染器很多,发挥所长用自己比较熟悉的渲染器为最佳工作方式。该教程用的是MAX自带的Light Tracer(光线跟踪)渲染器,所以首先需要先来了解一下Light Tracer(光线跟踪)渲染器控制面板中各个参数的含义: General Settings group(全局设置群组 ) Global Multiplier(全局倍增器):控制整体照明等级。默认=1.0 Object Multiplier(物体倍增器):控制场景中物体的光线反射等级。默认=1.0 Sky Lights toggle(天光开关):打开时,使场景中天光的重新聚集regathering生效。(一个场景可以包含多个天光)。默认=开on Sky Lights amount(天光数量):控制天光强度值。默认=1.0 Color Bleed(颜色溢出):控制颜色溢出的强度。当光线在场景中物体之间相互反射时,颜色溢出生效。默认=1.0 Rays/Sample(光线/采样) :向每个样本(或像素)投射的光线数。增加此值将使渲染结果更加平滑,这是以时间的增加为代价的。降低此值将出现粒状效果,但渲染更快。默认=250 Color Filter(颜色过滤器):对投射到物体上的光线进行过滤,设置一个不是白色的过滤器将给整体结果上色。默认=白色white Extra Ambient(附加环境光):不设置为黑色时,所设的颜色将作为附加环境光照明物体。默认=黑色black Ray Bias(光线偏移):与阴影光线跟踪偏移Ray-Trace Bias for shadows类似,使用它可以纠正伴随产物artifacts,例如当物体向自己身上投射阴影时会出现条带效果。默认=0.03 Bounces(反弹):被跟踪的反射光线数。增加此值将增加颜色溢出,降低此值会得到渲染较快,较不精确的效果。通常产生较为阴暗的图像。提高此值允许更多的光线飞行于整个场景,结果更明亮,更精确,当然耗时更长。默认=0。当弹射值=0时,光线跟踪将不考虑体积度量照明volumetric lighting Cone Angle(圆锥角度):控制使用重新聚集regathering的角度。降低此值可得到较轻的对比度,特别是对于由许多小物体在大物体上投射阴影的区域。范围=33.0~90.0,默认=88.0 Volumes toggle(体积开关):当打开时,光线跟踪将对诸如体积光Volume Light和体积雾Volume Fog进行处理。默认=开on(若要使光线跟踪对体积灯光起作用,弹射Bounces值必须大于零。) Volumes amount(体积数值):可使体积灯光的亮度值提高。增加此值可增加它对渲染场景的影响。降低则反之。默认=1.0 Adaptive Undersampling group(自适应降低采样群组) Adaptive Undersampling(自适应降低采样):打开时,光线跟踪使用降低采样。关闭时,对每个像素都进行取样。关闭它可以增加最终渲染的细节,但增加渲染时间。默认=开on Initial Sample Spacing(初始采样间距):图像的初始采样网点的距离。以像素为单位。默认=16x16 Subdivision Contrast(细分对比):决定一个区域是否应该细分的对比阀限。增加此值减少细分。太小的值会引起不必要的细分。默认=5.0 Subdivide Down To(细分底限):细分的最小间距,增加此值能增加渲染时间,但结果更精确。默认=1x1 Show Samples(显示采样):打开时,取样区域以红点被渲染出来。这显示出哪个地方取样最多,可以帮你选择降低采样的最优设置。默认=关off

平行检测

平行检测 1.引言 平行检测是监理质量控制的重要方法之一,在有关法规、规章和规范中均明确地规定了下来。但是,由于对平行检测的目的与效力的认识不同,不同项目所具备的平行检测的条件不同,以及对平行检测所需费用的负担方式不同,致使在平行检测实施中存在诸多问题,影响平行检测的顺利实施和效果,有时甚至带来负面影响。例如,不同项目对平行检测实施的优劣层次差别较大,长此以往,会失去其严肃性,对工程实体质量和质量管理都将会造成不利影响;再如,由于不少项目在实施平行检测时存在“条件”不可为而“勉强”为之的情形,平行检测工作不规范,加大了相关监理单位和监理人员的责任风险。本文针对平行检测实施中存在的问题,从分析平行检测的目的与效力出发,探讨提出平行检测实施的改进建议。 2.平行检测实施中存在的问题 2.1 平行检测业务的委托问题 《水利工程建设项目施工监理规范》(下文简称《监理规范》)6.2.11第3款规定:“平行检测工作应由具有国家规定的资质条件的检测机构承担”。根据相关规定对水利工程质量检测单位资质等级标准的要求,监理单位几乎没有能力自己设立符合资质有求的试验室,只能通过委托方式进行平行检测(除个别大型工程由项目法人自建实验室外)。但是,由于项目规模和复杂程度的不同,以及受项目所在地域的限制,在平行检测实施中常遇到的问题有:有些项目所在地具备承担检测任务的检测单位很少,监理单位无法委托独立的检测单位进行平行检测;有些项目所在地甚至没有符合要求的检测单位可供委托;有些项目所在地的检测单位业务繁忙,再加上所监理的项目规模小,相应的平行检测业务量太小而没有符合规定资质条件的检测单位愿意承担。在此情况下,有些监理单位采取长距离外送检测,不仅由于检测时间长有时影响施工进度,而且,长距离送样很难保证检测质量;有些监理单位则将平行检测业务委托给承担承包人自检业务的同一检测单位,失去或大大减小了平行检测的作用。 2.2平行检测的经费问题 目前,在平行检测实施中存在着对平行检测的要求不断增加但所需经费始终无法保证的突出问题。一方面,尽管《监理规范》中对平行检测只规定了混凝土试样不少于承包人自检数量的3%,土方试样不少于承包人自检数量的5%。但是,由于水利工程规模庞大,结构复杂,以及用于工程的原材料、中间产品、金属结构和机电设备等,数量巨大、种类繁多,需要进行的平行检测数量相当可观。而且,有些发包人从加强监理质量控制的初衷出发,大幅度地提高了平行检测的数量要求;但另一方面,虽然《监理规范》中规定平行检测费用应由发包人承担,但是,在现实情况下,有相当一部分发包人利用监理招标时所处的主导地位优势,通过不同的方式,将平行检测费的负担与风险转移给监理单位,经常造成监理单位的成本大幅度增加,无法维持正常经费支出,或很大程度上未能按照合同要求严格实施真正意 义上的平行检测。 2.3平行检测的指标范围、类别等的界定和相应比例的确定问题 “工程质量检测”的含义十分广泛,从方法上讲,包括:测量、检查、试验或度量;从被检测实体对象来说,包括:原材料、中间产品、金属结构、机电设备、工序、工程实体(包括对单元工程、分部工程、单位工程和工程等)等;从检测手段上讲,既包括无损检测,也包括破坏性检测;从检测方式和条件上讲,既包括专业试验室的检测,也包括工程现场的原形检测;从检测所需专业资质角度,既包括具有专业资质的检测单位所进行的检测,也应包括不具备检测资质的单位的专业人员进行的现场常规检测;从检测所需技术手段与条件角度,既包括常规检测,也包括专门性特殊检测。在目前平行检测实践中,由于没有从平行检测角度对工程质量检测给出明确的指标范围与类别的界定,使得平行检测的方式、指标范围和比例等的确定缺乏明确、科学的依据(如哪些检测项目应委托有资质的专业检测单位进

智能机器人运动控制和目标跟踪

XXXX大学 《智能机器人》结课论文 移动机器人对运动目标的检测跟踪方法 学院(系): 专业班级: 学生学号: 学生姓名: 成绩:

目录 摘要 (1) 0、引言 (1) 1、运动目标检测方法 (1) 1.1 运动目标图像HSI差值模型 (1) 1.2 运动目标的自适应分割与提取 (2) 2 运动目标的预测跟踪控制 (3) 2.1 运动目标的定位 (3) 2.2 运动目标的运动轨迹估计 (4) 2.3 移动机器人运动控制策略 (6) 3 结束语 (6) 参考文献 (7)

一种移动机器人对运动目标的检测跟踪方法 摘要:从序列图像中有效地自动提取运动目标区域和跟踪运动目标是自主机器人运动控制的研究热点之一。给出了连续图像帧差分和二次帧差分改进的图像HIS 差分模型,采用自适应运动目标区域检测、自适应阴影部分分割和噪声消除算法,对无背景图像条件下自动提取运动目标区域。定义了一些运动目标的特征分析和计算 ,通过特征匹配识别所需跟踪目标的区域。采用 Kalrnan 预报器对运动目标状态的一步预测估计和两步增量式跟踪算法,能快速平滑地实现移动机器人对运动目标的跟踪驱动控制。实验结果表明该方法有效。 关键词:改进的HIS 差分模型;Kahnan 滤波器;增量式跟踪控制策略。 0、引言 运动目标检测和跟踪是机器人研究应用及智能视频监控中的重要关键技术 ,一直是备受关注的研究热点之一。在运动目标检测算法中常用方法有光流场法和图像差分法。由于光流场法的计算量大,不适合于实时性的要求。对背景图像的帧问差分法对环境变化有较强的适应性和运算简单方便的特点,但帧问差分不能提出完整的运动目标,且场景中会出现大量噪声,如光线的强弱、运动目标的阴影等。 为此文中对移动机器人的运动目标检测和跟踪中的一些关键技术进行了研究,通过对传统帧间差分的改进,引入 HSI 差值模型、图像序列的连续差分运算、自适应分割算法、自适应阴影部分分割算法和图像形态学方法消除噪声斑点,在无背景图像条件下自动提取运动 目标区域。采用 Kalman 滤波器对跟踪目标的运动轨迹进行预测,建立移动机器人跟踪运动 目标的两步增量式跟踪控制策略,实现对目标的准确检测和平滑跟踪控制。实验结果表明该算法有效。 1、运动目标检测方法 接近人跟对颜色感知的色调、饱和度和亮度属性 (H ,S ,I )模型更适合于图像识别处理。因此,文中引入改进 型 HSI 帧差模型。 1.1 运动目标图像HSI 差值模型 设移动机器人在某一位置采得的连续三帧图像序列 ()y x k ,f 1-,()y x f k ,,()y x f k ,1+

相关文档
最新文档