OPENCV外接矩形及长宽的求法

OPENCV外接矩形及长宽的求法
OPENCV外接矩形及长宽的求法

#include "cv.h"

#include "highgui.h"

#include

int main()

{

CvMemStorage* storage=cvCreateMemStorage(0);

CvSeq* contour=0;

//获取连通区域指针存储在contour

cvFindContours(img,storage,&contour,sizeof(CvContour),CV_RETR_CCOM P,CV_CHAIN_APPROX_SIMPLE);

//遍历每个连通区域

for(;contour!=0;contour=contour->h_next)

{

//求连通区域最小外接矩形的四个顶点

CvBox2D rect=cvMinAreaRect2(contour,storage);

CvPoint2D32f rect_pts0[4];

cvBoxPoints(rect, rect_pts0);

intnpts = 4;

CvPointrect_pts[4], *pt = rect_pts;

for (int i=0; i<4; i++)

{

rect_pts[i]= cvPointFrom32f(rect_pts0[i]);

}

//在图像中绘制

cvPolyLine( img, &pt, &npts, 1, 1, CV_RGB(255,255,255), 1);

}

}

//以下是获取连通区域的水平外接矩形,不一定是最小的

CvRect r = ((CvContour*)(contour))->rect;

cvRectangle(image,cvPoint(r.x,r.y),cvPoint(r.x+r.width,r.y+r.height), CV_RGB(255,255,255),0);

基于OpenCV识别库的面部图像识别系统的设计

基于OpenCV识别库的面部图像识别系统的设计 本系统采用J2EE技术并以OpenCV开源计算机视觉库技术为基础,实现一套具有身份验证功能的面部图像识别信息管理系统。系统使用MySQL数据库提供数据支撑,依托于J2EE的稳定性和Java平台的可移植性使得本系统可以在各个操作系统平台中运行,同时提供在互联网中使用面部识别技术的一套较为完备的解决方案。 标签:OpenCV;人脸识别;生物学特征 引言 随着信息技术的飞速发展以及互联网的深入普及,越来越多的行业和领域使用信息技术产品以提高工作效率和管理水平。但是由于人们隐私信息的保护意识薄弱,出现了许多信息安全的问题。在人们对于信息安全越来越重视的情况下,许多技术被应用到信息安全领域中来。较为先进的技术有虹膜识别技术、遗传基因识别技术以及指纹识别技术等。而论文采用的是当前热点的面部图像识别技术。 1 系统实现算法及功能分析 1.1 面部图像的生物学特征模型的建立 本系统是利用面部图形的生物学特征来识别不同的人。由于每个人的面部图像都有各自的特征但又具有一定的通性,需要应用生物学中相关知识加以解决。可以利用已有的生物学测量手段以及现有的算法构建人的面部图像生物学特征模型(简称:面部模型),并应用于系统中,面部模型的建立为面部图像识别的功能提供实现依据。 1.2 知识特征库及面部识别引擎的建立 在前述面部模型建立完成后,需要建立相应的知识库以及面部识别引擎方可进行身份的识别。可经过大量数据的采集和分析后建立知识库,并根据知识库的特点建立相应的识别引擎。此识别引擎对外开放,在本系统中提供其它外来程序的调用接口,其它系统能够通过本接口实现识别引擎的调用实现对于面部图形的识别,从而达到识别引擎的可复用性。在技术条件允许的情况下,提供知识库的智能训练以及半自动构建支持。 1.3 面部图像的采集与预处理 本系统中采用了预留API接口,利用USB图形捕获设备采集数据图像。经过USB设备的捕获,使用JMF(Java Media Framework)来处理已捕获的图像数据,对捕获的图像进行面部图行检测和实时定位跟踪。

凸包及最小外围矩形

题目简述: 給出一个平面点集S,求一个面积最小的矩形使其包含S所有的点。 预备知识: 在求解这道题之前我们先要了解一些关于凸包的知识。 什么是凸包?简单地说,对于一个平面点集S,我们把完全包含该点集的最小的凸多边形叫做点集S的凸包H。 凸包一个很重要的性质就是它“凸”的性质。这个性质对我们理解和计算凸包都有很大的帮助。 I)对点集S中任意一点a,当且仅当存在直线p过a点并使得S中除a外所有点均在p的一侧,则a为凸包上的一顶点。 II)对点集S中任意两点a,b,当且仅当S中除a,b以外所有点都在过点a,b 的直线p的一侧,则线段ab为凸包上的一条边。 III)对点集S中任意四点a,b,c,d,当d在三角形abc中(包括边),则d不是凸包上的点。 上面的几条关于凸包“凸”的性质为我们计算凸包提供了一个基础。这里我们将介绍两种简单且被广泛运用的算法――Gift-Wrapping和Graham-Scan算法。 Gift-Wrapping算法: 通过性质(I),我们可以找到一个特殊点,如具有最小y坐标且x坐标尽可能小的点。将它作为计算凸包的第一个顶点。确定了起点后,我们就可以通过Gift-Wrapping算法计算出点集的凸包。下面的步骤很直观的描述了这个算法: 1)把点集中所有点都看成是固定在平面上的柱子,想象我们在起始点柱子上系上一根身子。 2)把绳子沿水平方向向右拉直,并逆时针旋转,当绳子碰上一根柱子,则对应了凸包上

的一点 3)继续旋转绳子,每次确定一个凸包上的顶点,直至绳子回到起点。 图一:Gift-Wrapping算法计算凸包的过程 每次通过旋转绳子找到下一个凸包顶点需要对点集中所有剩余点进行一次比较,所以这 一步的时间复杂度是O(n)。每个凸包上的顶点都需要进行一次旋转操作,而最坏情况下,凸包顶点个数可以和点集个数相等,所以整个Gift-Wrapping算法的时间复杂度是O(n2)的。 Graham-Scan算法: Gift-Wrapping算法无论从理解还是从实现上来说,它都是十分简单的。但由于它的复杂度并不理想,我们无法利用它来求解大规模的凸包问题。因而,我们将介绍一种高效的计算凸包的算法――Graham-Scan。 Graham-Scan算法主要可分成两部分: 1)同Gift-Wrapping一样,需要先找出一个起始点。将这个点作为原点,进行夹角排序。 2)先将起始点压入堆栈H中,再按照已经排好的顺序对每一个点进行扫描,同时维护堆栈H。这个堆栈表示的是到目前为止,所有已经扫描过的点对应的凸包。每当扫描一个点p 的时候: a) 如果堆栈的元素少2个或者堆栈顶端的两个点与p构成左转关系,则将p压入堆栈中。 b) 否则,栈顶元素出栈并继续进行a的判断。 当所有点都扫描完后,堆栈H即为我们要求的凸包。 图二:Graham-Scan算法的扫描过程(堆栈H储存的即实线连接起来的点)

基于OpenCv的图像识别

基于2DPCA的人脸识别算法研究 摘要 人脸识别技术是对图像和视频中的人脸进行检测和定位的一门模式识别技术,包含位置、大小、个数和形态等人脸图像的所有信息。由于近年来计算机技术的飞速发展,为人脸识别技术的广泛应用提供了可能,所以图像处理技术被广泛应用了各种领域。该技术具有广阔的前景,如今已有大量的研究人员专注于人脸识别技术的开发。本文的主要工作内容如下: 1)介绍了人脸识别技术的基础知识,包括该技术的应用、背景、研究方向以及 目前研究该技术的困难,并对人脸识别系统的运行过程以及运行平台作了简单的介绍。 2)预处理工作是在原始0RL人脸库上进行的。在图像的预处理阶段,经过了图 象的颜色处理,图像的几何归一化,图像的均衡化和图象的灰度归一化四个过程。所有人脸图像通过上述处理后,就可以在一定程度上减小光照、背景等一些外在因素的不利影响。 3)介绍了目前主流的一些人脸检测算法,本文采用并详细叙述了Adaboost人脸 检测算法。Adaboost算法首先需要创建人脸图像的训练样本,再通过对样本的训练,得到的级联分类器就可以对人脸进行检测。 4)本文介绍了基于PCA算法的人脸特征点提取,并在PCA算法的基础上应用了 改进型的2DPCA算法,对两者的性能进行了对比,得出后者的准确度和实时性均大于前者,最后将Adaboost人脸检测算法和2DPCA算法结合,不仅能大幅度降低识别时间,而且还相互补充,有效的提高了识别率。 关键词:人脸识别 2DPCA 特征提取人脸检测

2DPCA Face Recognition Algorithm Based on The Research Abstract:Face recognition is a technology to detect and locate human face in an image or video streams,Including location, size, shape, number and other information of human face in an image or video streams.Due to the rapid development of computer operation speed makes the image processing technology has been widely applied in many fields in recent years. This paper's work has the following several aspects: 1)Explained the background, research scope and method of face recognition,and introduced the theoretical method of face recognition field in general. 2)The pretreatments work is based on the original ORL face database. In the image preprocessing stage, there are the color of the image processing, image geometric normalization, image equalization and image gray scale normalization four parts. After united processing, the face image is standard, which can eliminate the adverse effects of some external factors. 3)All kinds of face detection algorithm is introduced, and detailed describing the Adaboost algorithm for face detection. Through the Adaboost algorithm to create a training sample,then Training the samples of face image,and obtaining the cascade classifier to detect human face. 4)This paper introduces the facial feature points extraction based on PCA ,and 2DPCA is used on the basis of the PCA as a improved algorithm.Performance is compared between the two, it is concluds that the real time and accuracy of the latter is greater than the former.Finally the Adaboost face detection algorithm and 2DPCA are combined, which not only can greatly reduce the recognition time, but also complement each other, effectively improve the recognition rate. Key words:Face recognition 2DPCA Feature extraction Face detection

求磁场区域最小面积的三类问题

求磁场区域最小面积的三类问题 1、右图为可测定比荷的某装置的简化示意图,在第一象限区域内有垂直于纸面向里的匀强磁场,磁感应强度大小B=2.0×10-3 T,在X 轴上距坐标原点L=0.50m 的P 处为离子的入射口,在Y 上安放接收器,现将一带正电荷的粒子以v=3.5×104 m/s 的速率从P 处射入磁场,若粒子在y 轴上距坐标原点L=0.50m 的M 处被观测到,且运动轨迹半径恰好最小,设带电粒子的质量为m,电量为q,不记其重力。 (1)求上述粒子的比荷; (2)如果在上述粒子运动过程中的某个时刻,在第一象限内再加一个匀强电场,就可以使其沿y 轴正方向做匀速直线运动,求匀强电场的场强大小和方向,并求出从粒子射入磁场开始计时经过多长时间加这个匀强电场; (3)为了在M 处观测到按题设条件运动的上述粒子,在第一象限内的磁场可以局限在一个矩形区域内,求此矩形磁场区域的最小面积,并在图中画出该矩形。 2、如图所示,在竖直平面内,虚线MO 与水平线PQ 相交于O ,二者夹角 θ=30°,在MOP 范围内存在竖直向下的匀强电场,电场强度为E ,MOQ 上方的某个区域有垂直纸面向里的匀强磁场,磁感应强度为B ,O 点处在磁场的边界上,现有一群质量为m 、电量为+q 的带电粒子在纸面内以速度v (0

基于opencv对图像的预处理

基于opencv 对图像的预处理 1.问题描述 本次设计是基于opencv 结合c++语言实现的对图像的预处理,opencv 是用于开发实时的图像处理、计算机视觉及模式识别程序;其中图像的预处理也就是利用opencv 对图像进行简单的编辑操作;例如对图像的对比度、亮度、饱和度进行调节,同时还可以对图像进行缩放和旋转,这些都是图像预处理简单的处理方法;首先通过opencv 加载一幅原型图像,显示出来;设置五个滑动控制按钮,当拖动按钮时,对比度、亮度、饱和度的大小也会随之改变,也可以通过同样的方式调节缩放的比例和旋转的角度,来控制图像,对图像进行处理,显示出符合调节要求的图像,进行对比观察他们的之间的变化。 2.模块划分 此次设计的模块分为五个模块,滑动控制模块、对比度和亮度调节模块、饱和度调节模块、缩放调节模块、旋转调节模块,他们之间的关系如下所示: 图一、各个模块关系图 调用 调用 调用 调用 滑动控制模块 对比度和亮度调节模块 饱和度调节模块 缩放调节模块 旋转调节模块

滑动控制模块处于主函数之中,是整个设计的核心部分,通过createTrackbar创建五个滑动控制按钮并且调用每个模块实现对图像相应的调节。 3.算法设计 (1)滑动控制: 滑动控制是整个设计的核心部分,通过创建滑动控制按钮调节大小来改变相应的数据,进行调用函数实现对图像的编辑,滑动控制是利用createTrackbar(),函数中包括了滑动控制的名称,滑动控制显示在什么窗口上,滑动变量的地址和它调节的最大围,以及每个控制按钮应该调用什么函数实现什么功能; (2)对比度和亮度的调节: 对比度和亮度的调节的原理是依照线性理论,它的公式如下所示:g(x)=a* f(x) +b,其中f(x)表示源图像的像素,g(x)表示输出图像的像素,参数a(需要满足a>0)被称为增益(gain),常常被用来控制图像的对比度,参数b通常被称为偏置(bias),常常被用来控制图像的亮度; (3)饱和度的调节: 饱和度调节利用cvCvtColor( src_image, dst_image, CV_BGR2HSV )将RGB 颜色空间转换为HSV颜色空间,其中“H=Hue”表示色调,“S=Saturation”表示饱和度,“V=Value ”表示纯度;所以饱和度的调节只需要调节S的大小,H 和V的值不需要做任何的改变; (4)旋转的调节: 旋转是以某参考点为圆心,将图像的个点(x,y)围绕圆心转动一个逆时针角度θ,变为新的坐标(x1,y1),x1=rcos(α+θ),y1=rsin(α+θ),其中r是图像的极径,α是图像与水平的坐标的角度的大小; (5)缩放的调节: 首先得到源图像的宽度x和高度y,变换后新的图像的宽度和高度分别为x1和y1,x1=x*f,y1=y*f,其中f是缩放因子; 4.函数功能描述 (1)主函数main()用来设置滑动控制按钮,当鼠标拖动按钮可以得到相应的数据大小,实现手动控制的功能,当鼠标拖动对比度和亮度调节是,主函数调用

利用cvMinAreaRect2求取轮廓最小外接矩形

其中返回的2D盒子定义如下: 1 typedef struct CvBox2D 2 { 3 CvPoint2D32f center; /* 盒子的中心 */ 4 CvSize2D32f size; /* 盒子的长和宽 */ 5 float angle; /* 水平轴与第一个边的夹角,用弧度表示*/ 6 }CvBox2D; 注意夹角 angle 是水平轴逆时针旋转,与碰到的第一个边(不管是高还是宽)的夹角。如下图

可用函数cvBoxPoints(box[count], point); 寻找盒子的顶点 1 void cvBoxPoints( CvBox2D box, CvPoint2D32f pt[4] ) 2 { 3 double angle = box.angle*CV_PI/180. 4 float a = (float)cos(angle)*0.5f; 5 float b = (float)sin(angle)*0.5f; 6 7 pt[0].x = box.center.x - a*box.size.height - b*box.size.width; 8 pt[0].y = box.center.y + b*box.size.height - a*box.size.width; 9 pt[1].x = box.center.x + a*box.size.height - b*box.size.width; 10 pt[1].y = box.center.y - b*box.size.height - a*box.size.width; 11 pt[2].x =2*box.center.x - pt[0].x; 12 pt[2].y =2*box.center.y - pt[0].y; 13 pt[3].x =2*box.center.x - pt[1].x; 14 pt[3].y =2*box.center.y - pt[1].y; 15 } 简单证明此函数的计算公式: 计算x,由图可得到三个方程式:pt[1].x - pt[0].x = width*sin(angle) pt[2].x - pt[1].x = height*cos(angle) pt[2].x - pt[0].x =2(box.center.x - pt[0].x)联立方程可解得函数里的计算式,算 y 略。 写了个函数绘制CvBox2D 1 void DrawBox(CvBox2D box,IplImage* img) 2 { 3 CvPoint2D32f point[4]; 4 int i; 5 for ( i=0; i<4; i++) 6 { 7 point[i].x =0; 8 point[i].y =0; 9 } 10 cvBoxPoints(box, point); //计算二维盒子顶点 11 CvPoint pt[4]; 12 for ( i=0; i<4; i++) 13 { 14 pt[i].x = (int)point[i].x; 15 pt[i].y = (int)point[i].y; 16 } 17 cvLine( img, pt[0], pt[1],CV_RGB(255,0,0), 2, 8, 0 ); 18 cvLine( img, pt[1], pt[2],CV_RGB(255,0,0), 2, 8, 0 );

小学三年级奥数 27巧求矩形面积

小学三年级奥数27巧求矩形面积 本教程共30讲 第27讲巧用矩形面积公式 同学们都知道求正方形和长方形面积的公式: 正方形的面积=a×a(a为边长), 长方形的面积=a×b(a为长,b为宽)。 利用这两个公式可以计算出各种各样的直角多边形的面积。例如,对左下图,我们无法直接求出它的面积,但是通过将它分割成几块,其中每一块都是正方形或长方形(见右下图),分别计算出各块面积再求和,就得出整个图形的面积。 例1右图中的每个数字分别表示所对应的线段的长度(单位:米)。这个图形的面积等于多少平方米? 分析与解:将此图形分割成长方形有下面两种较简单的方法,图形都被分割成三个长方形。根据这两种不同的分割方法,都可以计算出图形的的面积。

5×2+(5+3)×3+(5+3+4)×2=58(米2); 或 5×(2+3+2)+3×(2+3)+4×2=58(米2)。 上面的方法是通过将图形分割成若干个长方形,然后求图形面积的。实际上,我们也可以将图形“添补”成一个大长方形(见下图),然后利用大长方形与两个小长方形的面积之差,求出图形的面积。 (5+3+4)×(2+3+2)-2×3-(2+3)×4=58(米2); 或 (5+3+4)×(2+3+2)-2×(3+4)-3×4=58(米2)。 由例1看出,计算直角多边形面积,主要是利用“分割”和“添补”的方法,将图形演变为多个长方形的和或差,然后计算出图形的面积。其中“分割”是最基本、最常用的方法。 例2右图为一个长50米、宽25米的标准游泳池。它的四周铺设了宽2米的白瓷地砖(阴影部分)。求游泳池面积和地砖面积。 分析与解:游泳池面积=50×25=1250(米2)。 求地砖面积时,我们可以将阴影部分分成四个长方形(见下图),从而可得白瓷地砖的面积为 (2+25+2)×2×2+50×2×2=316(米2); 或 (2+50+2)×2×2+25×2×2=316(米2)。

小学奥数习题版三年级几何巧求面积教师版

知识要点 简单求面积 【例 1】 4个相同的长方形和一个小正方形拼成一个面积是100平方厘米的大正方形,已知小正方形的面积是36平方厘米,问长方形的长和宽各是多少厘米? 【分析】 1001010=?,3666=?,大正方形的边长为10厘米,小正方形的边长为6厘米,长方形的宽为: (106)22-÷=(厘米),长为:628+=(厘米) 【例 2】 如图,一张长方形纸片,长7厘米,宽5厘米.把它的右上角往下折叠,再把左下角往上折叠,未盖住的阴影部分的面积是多少平方厘米? 巧求面积

5 【分析】 阴影部分的宽是752-= (厘米),长是523-= (厘米),面积是236?= (平方厘米). 【例 3】 一个长方形周长是80厘米,它是由3个完全相同的小正方形拼成的,那么每个小正方形的面积是多少平方厘米? 【分析】 小正方形的边长:80810÷=厘米,每个小正方形的面积:1010100?=平方厘米。 面积增减 【例 4】 一块长方形铁板,长15分米,宽l2分米,如果长和宽各减少2分米,面积比原来减少多少平方分米? 【分析】 如图,铁板面积比原来减少多少平方分米,就是求阴影部分的面积,用原长方形的面积减去空白部分的面积. 1512(152)(1 2?--?- =180130- =50(平方分米) 15 12 【例 5】 一块长方形地长是80米,宽是45米,如果把宽增加5米,要使原来的面积不变,长应减少多少米? 【分析】 808045(455)8-?÷+= (米). 【例 6】 人民路小学操场原来长80米,宽55米,改造后长增加20米,宽减少5米.现在操场的面积比原来增加多少? 【分析】 (8020)(555)8055600+?--?= (平方米). 【例 7】 有一个长方形菜园,如果把宽改成50米,长不变,那么它的面积减少680平方米,如果使宽为60米,长不变,那么它的面积比原来增加2720平方米,原来的长和宽各是多少米? 【分析】 根据题意,可以用下图表示增减变化的情况,从图中可以看出,原来长方形的长为(2720680)(6050)340+÷-= (米),宽为6803405052÷+= (米)。

三年级奥数专题:巧用矩形面积公式

三年级奥数专题:巧用矩形面积公式 同学们都知道求正方形和长方形面积的公式: 正方形的面积=a×a(a为边长), 长方形的面积=a×b(a为长,b为宽). 利用这两个公式可以计算出各种各样的直角多边形的面积.例如,对左下图,我们无法直接求出它的面积,但是通过将它分割成几块,其中每一块都是正方形或长方形(见右下图),分别计算出各块面积再求和,就得出整个图形的面积. 例1右图中的每个数字分别表示所对应的线段的长度(单位:米).这个图形的面积等于多少平方米? 分析与解:将此图形分割成长方形有下面两种较简单的方法,图形都被分割成三个长方形.根据这两种不同的分割方法,都可以计算出图 形的的面积. 5×2+(5+3)×3+(5+3+4)×2=58(米2);

或 5×(2+3+2)+3×(2+3)+4×2=58(米2). 上面的方法是通过将图形分割成若干个长方形,然后求图形面积的.实际上,我们也可以将图形“添补”成一个大长方形(见下图),然后利用大长方形与两个小长方形的面积之差,求出图形的面积. (5+3+4)×(2+3+2)-2×3-(2+3)×4=58(米2); 或 (5+3+4)×(2+3+2)-2×(3+4)-3×4=58(米2). 由例1看出,计算直角多边形面积,主要是利用“分割”和“添补”的方法,将图形演变为多个长方形的和或差,然后计算出图形的面积.其中“分割”是最基本、最常用的方法. 例2右图为一个长50米、宽25米的标准游泳池.它的四周铺设了宽2米的白瓷地砖(阴影部分).求游泳池面积和地砖面积. 分析与解:游泳池面积=50×25=1250(米2). 求地砖面积时,我们可以将阴影部分分成四个长方形(见下图),从而可得白瓷地砖的面积为 (2+25+2)×2×2+50×2×2=316(米2); 或

最新基于OpenCV与深度学习框架的物体图像识别

基于OpenCV与深度学习框架Caffe的物体图像识别 摘要:本文主要介绍深度神经网络中的卷积神经的相关理论与技术。研究采用OpenCV深度学习模块DNN与深度学习框架Caffe进行物体识别。采用OpenCV 中的DNN模块加载深度学习框架Caffe模型文件,对物体图像进行识别。实验结果表明,卷积神经网络在物体的识别方面具有较高的准确率。 一.概述 1.1 OpenCV简介 OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV 是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C 函数和少量C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。其最新版本是3.2,于2016年12月23日发布。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。在其最新版3.2版本中,已经添加了深度神经网络模块,并支持深度学习框架Caffe模型(Caffe framework models)。 1.2 深度学习框架Caffe简介 Caffe(Convolutional Architecture for Fast Feature Embedding)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,曾在Google 工作,现任Facebook研究科学家。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。Caffe的优势

(完整版)小学三年级奥数27巧求矩形面积

小学三年级奥数 27巧求矩形面积 本教程共30讲 第27讲巧用矩形面积公式 同学们都知道求正方形和长方形面积的公式: 正方形的面积=a×a(a为边长), 长方形的面积=a×b(a为长,b为宽)。 利用这两个公式可以计算出各种各样的直角多边形的面积。例如,对左下图,我们无法直接求出它的面积,但是通过将它分割成几块,其中每一块都是正方形或长方形(见右下图),分别计算出各块面积再求和,就得出整个图形的面积。 例1 右图中的每个数字分别表示所对应的线段的长度(单位:米)。这个图形的面积等于多少平方米? 分析与解:将此图形分割成长方形有下面两种较简单的方法,图形都被分割成三个长方形。根据这两种不同的分割方法,都可以计算出图形的的面积。 2);×2=58(米3+(5+3+4) 5×2+(5+3)×或 2)。58(米 3)+4×2=+ 5×(23+2)+3×(2+ 上面的方法是通过将图形分割成若干个长方形,然后求图形面积的。实际上,我们也可以将图形“添补”成一个大长方形(见下图),然后利用大长方形与两个小长方形的面积之差,求出图形的面积。

2);米×4=58(+4)×(2+3+2)-2×3-(23) (5+3+或 2)。=58(米×+2)-2×(3+4)-34+ (5+3+4)×(23 由例1看出,计算直角多边形面积,主要是利用“分割”和“添补”的方法,将图形演变为多个长方形的和或差,然后计算出图形的面积。其中“分割”是最基本、最常用的方法。例2右图为一个长50米、宽25米的标准游泳池。它的四周铺设了宽2米的白瓷地砖(阴影部分)。求游泳池面积和地砖面积。 2)。米×25=1250(=50分析与解:游泳池面积求地砖面积时,我们可以将阴影部分分成四个长方形(见下图),从而可得白瓷地砖的面积为 2);米2×2=316(+×+ (225+2)2×250×或 2。)米316(=2×2×25+2×2×2)+50+(2 求地砖的面积,我们还可以通过“挖”的方法,即从大长方形内“挖掉”一个小长方形(见右图)。从而可得白瓷地砖面积为 (50+2+2)×(25+2+2)-50×25 2)。 =316(米例3下图中有三个封闭图形,每个封闭图形均由边长为1厘米的小正方形组成。试求各图形的面积。

求取多边形最小面积外接矩形的计算机算法-最新年精选文档

求取多边形最小面积外接矩形的计算机算法 摘要:多边形的最小面积外接矩形是图形学、计算机学、地理信息系统等众多领域中经常涉及的一个问题,也是一个极其有用的工具,在实际生产和生活当中也经常会出现这个问题,但是它的求解过程是比较复杂和困难的。提出一种计算多边形最小面积外接矩形的计算机算法,并且对算法的效率和复杂度等进行分析,并通过多种算法实例来验证该算法的可行性和可靠性,充分验证新提出的算法的优越性。 1 引言 在实际生产生活中经常会遇到各种涉及到数学方法之类的 问题,为了能够最大程度的科学而有效的解决生产生活中的经济环境问题,节省材料,使资源得到最大程度的利用,比如在一块给定形状的布料上裁剪形状不同的图案,其他类似的生产工艺也会遇到类似的问题。因此求取多边形的最小面积外接矩形的计算机算法是有着极大的实际意义的。在几何学、图形学等方面,我们常常用外接矩形来近似的描述多边形目标的形状,多边形的外接矩形在图形学领域把它划分中两种表达形式,一种是最小绑定矩形,简称MBR(Minimum Bounding Rectangle),也就是用多边形的定点里的最小坐标和最大坐标来确定的矩形;另外一种表示形式是最小面积外接矩形,简称MABR(Minimum Area Bounding Rectangle),本文将会详细描述任意多边形的MABR的算法及其

程序实现。 在考虑实际生活中最大程度利用材料的问题时,人们现行的比较普遍的做法是把图形模块放在给定的布料上,按照科学的方法进行一定的布局使得材料利用率最大,从而材料经过裁剪之后浪费的下脚料也变得最小化,节省材料,提高经济效益,保护环境的目的就自然而然地得到一定程度的实现,而对于这样的问题许多文献都已经给出了相应的科学算法。此外,还考虑到工业生产活动中,经常还涉及一些更加复杂的操作工艺,有的材料并非像布匹一样在裁剪时几乎不发生形变,比如金属钢板在一定温度极限下就会发生弹性形变,在进行钢板的切割时钢板已经发生了热变形,而如果计算机程序在执行这样的切割操作时不考虑这个问题,切割出来的效果一定是难以满足工业生产的需求的。所以在由计算机控制的数控切割机的实际运行生产中,会涉及到更加复杂的多边形外接矩形的相关技术,更加复杂的是材料发生形变的原因会有很多,切割机的切割方向和切割顺序、切割温度等因素都会引起不同程度的形变,这时就要充分考虑各种因素,将影响因素的权重、影响方式等转化为数学语言,并最终转化为程序语言,引入到整个切割程序中。基于下料过程中的优化模型和算法已经有很多这方面的文献,本文将会针对以上所提出的实际生产生活背景,详细描述MABR的算法。 2 算法的思路 读者可以

最小面积的求法

18.(09年福建卷)22.(20分)图为可测定比荷的某装置的简化示意图,在第 一象限区域内有垂直于纸面向里的匀强磁场,磁感应强度大小B=2.0 × 10-3 T,在X 轴上距坐标原点L=0.50m 的P 处为离子的入射口,在Y 上安放接收器,现将一带正电荷的粒子以v=3.5×104m/s 的速率从P 处射入磁场,若粒子在y 轴上距坐标原点L=0.50m 的M 处被观测到,且运动轨迹半径恰好 最小,设带电粒子的质量为m,电量为q,不记其重力。 (1)求上述粒子的比荷 q m ; (2)如果在上述粒子运动过程中的某个时刻,在第一象限内再加一个匀强电场,就可以使其沿y 轴正方向做匀速直线运动,求该匀强电场的场强大小和方向,并求出从粒子射入磁场开始计时经过多长时间加这个匀强电场; (3)为了在M 处观测到按题设条件运动的上述粒子,在第一象限内的磁场可以局限在一个矩形区域内,求此矩形磁场区域的最小面积,并在图中画出该矩形。 答案(1) m q =4.9×710C/kg (或5.0×710C/kg );(2)s t 6109.7-?= ; (3)225.0m S = 解析:第(1)问本题考查带电粒子在磁场中的运动。第(2)问涉及到复合场(速度选择器模型)第(3)问是带电粒子在有界磁场(矩形区域)中的运动。 (1)设粒子在磁场中的运动半径为r 。如图甲,依题意M 、P 连线即为该粒子在磁场中作匀速圆周 运动的直径,由几何关系得 2 2L r = ① 由洛伦兹力提供粒子在磁场中作匀速圆周运动的向心力,可得 r v m qvB 2 = ② 联立①②并代入数据得 m q =4.9×710C/kg (或5.0×710C/kg ) ③ (2)设所加电场的场强大小为E 。如图乙,当粒子子经过Q 点时,速度沿y 轴正方向,依题意,在此时加入沿x 轴正方向的匀强电场,电场力与此时洛伦兹力平衡,则有 qvB qE = ④ 代入数据得 C N E /70= ⑤ 所加电场的长枪方向沿x 轴正方向。由几何关系可知,圆弧PQ 所对应的圆心角为45°,设带点粒子做匀速圆周运动的周期为T ,所求时间为t ,则有 T t 0 360 45= ⑥ v r T π2= ⑦ 联立①⑥⑦并代入数据得 s t 6109.7-?= ⑧

确定磁场最小面积的方法

确定磁场最小面积的方法 电磁场内容历来是高考中的重点和难点。近年来求磁场的问题屡屡成为高考中的热点,而这类问题单纯从物理的角度又比较难求解,下面介绍几种数学方法。 一、几何法 例1. 一质量为m、电荷量为+q的粒子以速度v ,从O点沿y轴正方向射入磁感应强度为B的圆形匀强磁场区域,磁场方向垂直纸面向外,粒子飞出磁场区域后,从b处穿过x 轴,速度方向与x轴正方向的夹角为30°,同时进入场强为E、方向沿与x轴负方向成60°角斜向下的匀强电场中,通过了b点正下方的c点,如图1所示,粒子的重力不计,试求:(1)圆形匀强磁场区域的最小面积; (2)c点到b点的距离。 图1 解析:(1)先找圆心,过b点逆着速度v的方向作直线bd,交y轴于d,由于粒子在磁场中偏转的半径一定,且圆心位于Ob连线上,距O点距离为圆的半径,据牛顿第二定律有: Bqv m v R 2 =① 解得R mv qB =0② 过圆心作bd的垂线,粒子在磁场中运动的轨迹如图2所示:要使磁场的区域有最小面积,则Oa应为磁场区域的直径,由几何关系知: 图2 r R =cos30°③

由②③得r mv qB = 320 所以圆形匀强磁场的最小面积为: S r m v q B min ==ππ2 20 2 22 34 (2)带电粒子进入电场后,由于速度方向与电场力方向垂直,故做类平抛运动,由运动的合成知识有: s vt ·°sin30= ④ s at ·°cos3012 2 = ⑤ 而a qE m = ⑥ 联立④⑤⑥解得s mv Eq =430 2 二、参数方法 例2. 在xOy 平面内有许多电子(质量为m 、电荷量为e ),从坐标原点O 不断地以相同的速率v 0沿不同方向射入第一象限,如图3所示。现加一个垂直于xOy 平面向里,磁感应强度为B 的匀强磁场,要使这些电子穿过磁场区域后都能平行于x 轴向x 轴正向运动。求符合该条件磁场的最小面积。 图3 解析:由题意可知,电子是以一定速度从原点O 沿任意方向射入第一象限时,先考察速度沿+y 方向的电子,其运动轨迹是圆心在x 轴上的A 1点、半径为R mv qB = 的圆。该电子沿圆弧OCP 运动至最高点P 时即朝x 轴的正向,可见这段圆弧就是符合条件磁场的上边界,见图5。当电子速度方向与x 轴正向成角度θ时,作出轨迹图4,当电子达到磁场边界时,速度方向必须平行于x 轴方向,设边界任一点的坐标为S x y (),,由图4可知:

毕业设计:基于OpenCV的人脸识别算法(终稿)-精品

安徽工业大工商学院 毕业学士论文 基于OpenCV的人脸识别算法 姓名:陈滔 申请学位级别:学士专业:测控技术与仪器 指导教师:方挺

摘要 人脸在社会交往中扮演着十分重要的角色,是人类在确定一个人身份时所采用的最普通的生物特征,研究人脸跟踪识别及其相关技术具有十分重要的理论价值和应用价值。彩色图像序列的人脸检测、跟踪与识别技术是随着计算机技术的高速发展和视频监控等应用的需要在近几年才逐渐成为一个研究热点。本文着重构建一套人脸跟踪识别系统,致力于精确实时地对彩色视频中的人脸图像检测跟踪,并可以将跟踪到的人脸图片传输到识别端进行身份识别。系统分为客户端和服务器两部分。针对传统Camshifl跟踪算法进行形态学处理、分配多个跟踪器等改进后的算法应用于客户端进行多人脸的跟踪。服务器端首先将人脸图像按其主要特征进行分块,再对分块图执行Eigenface算法实现人脸身份的识别。这套系统完成了对多人脸的跟踪效果,可广泛的应用于各种安防系统之中如:ATM机监控系统,门禁系统等。

Abstract Human face is 0111"primary focus of attention in social intercourse playingamajor rolei conveying dentity and emotion.Researchonthe face tracking,recognition technology has great theoreticaland practical value.This paper focusesOilbuildingasetofhumanface recognition and trackingsystem tocommitted toaccurate and real-timecolorvideoimages,andcalltransmit the tracked human face image to the recognition part to identify the person’S status.Thesystem is divided into client and server parts.Thetracking algorithm whichcarrieson morphology processing after traditional track algorithm Camshifl and assignments severaltrackingdevices is applied to the client for duplex facetracking.Theserver—side first divides the person face image into blocksaccording to its chief feature,then the blocksuses the Eigenfacealgorithm separately to realize the person’S status recognition.The system implementation for multiple face trackingcallbe widelyused among the various security systems,suchas:ATM machine monitoring system,accesscontrol system.Keywords:Face DetectionFace TrackingFace Recognition Eigenface Camshift

(完整版)小学奥数-格点型面积

板块一 正方形格点问题 在一张纸上,先画出一些水平直线和一些竖直直线,并使任意两条相邻的平行线的距离都相等(通常规定是1个单位),这样在纸上就形成了一个方格网,其中的每个交点就叫做一个格点.在方格网中,以格点为顶点画出的多边形叫做格点多边形,例如,右图中的乡村小屋图形就是一个格点多边形. 那么,格点多边形的面积如何计算?它与格点数目有没有关系?如果有,这两者之间的关系能否用计算公式来表达?下面就让我们一起来探讨这些问题吧! 用N 表示多边形内部格点,L 表示多边形周界上的格点,S 表示多边形面积,请同学们分析前几个例题的格点数. 我们能发现如下规律:12 L S N =+-.这个规律就是毕克定理. 毕克定理 若一个格点多边形内部有N 个格点,它的边界上有L 个格点, 则它的面积为12 L S N =+-. 例题精讲 格点型面积

【例 1】用9个钉子钉成相互间隔为1厘米的正方阵(如右图).如果用一根皮筋将适当的三个钉子连结起来就得到一个三角形,这样得到的三角形中,面积等于1平方厘米的三角形的个数有多少?面积等于2平方厘米的三角形有多少个? 【解析】面积等于1平方厘米的三角形有32个.面积等于2平方厘米的三角形有8个. (1)面积等于1平方厘米的分类统计如下: ①②③ 底为2,高为1底为2,高为1底为1,高为2 3×2=6(个)3×2=6(个)3×2=6(个) ④⑤⑥ 底为1,高为2底为2,高为1底为1,高为2 3×2=6(个)2×2=4(个)2×2=4(个) 所以,面积等于1平方厘米的三角形的个数有:6+6+6+6+4+4=32(个). (2)面积等于2平方厘米的分类统计如下: 3×2=6(个)1×2=2(个) 所以,面积等于2平方厘米的三角形的个数有:6+2=8(个). 【例 2】如图,44 ?的方格纸上放了16枚棋子,以棋子为顶点的正方形有个. 【解析】根据正方形的大小,分类数正方形.共能组成五种大小不同的正方形(如右图). ?的正方形:1个; ?的正方形:4个;33 ?的正方形:9个;22 11 以11 ?正方形对角线为边长的正方形:4个;以12 ?长方形对角线为边长的正方形:2个.故可以组成9414220 ++++=(个)正方形. 【例 3】判断下列图形哪些是格点多边形? ⑴⑵⑶ 【解析】根据格点多边形的定义可知,图形的边必须是直线段,顶点要在格点上!所以只有⑴是格点多边形.

相关文档
最新文档