OPENCV毕业实习报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

武汉工程大学计算机科学与工程学院毕业实习报告专业计算机科学与技术(计算机科学)班级08计科02班学号0805090204学生姓名高强指导教师金国祥(教授)实习时间2012学年第二学期2012.2.20至2012.3.9实习成绩武汉工程大学计算机科学与工程学院制说明:1、实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。2、实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于学院各专业),各专业教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。3、实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。4、指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。5、学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。6、实习报告正文字数应不少于5000字,实习日记字数不少于200字/天。7、实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。学生自主实习的,可根据实习的情况自行填写以上内容。8、自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),与实习报告一起装订,作为参加实习答辩和评定成绩的依据。毕业实习成绩评定表学生姓名:高强学号:0805090204班级:计科2班类别总分值各项分值评分标准实际得分总得分备注实习表现3010按时参加实习活动,无旷课、迟到、早退等情况。10遵守实习单位纪律和安排,无违反实习单位规定的情况;听从指导教师的安排,参加各项活动,无不服从教师管理的现象。10按期圆满完成规定的任务,工作量饱满;能运用所学知识和技能去发现与解决实际问题,工作中有创新意识。实习报告4015实习报告文字通顺,内容翔实,论述充分、完整,结构严谨合理。能运用所学专业知识对问题加以分析。15正确处理相关的数据,分析处理科学;具有收集、加工各种信息及获得新知识的能力。5实习报告字数符合相关要求,实习报告工整规范,整齐划一。5实习日记(笔记)次数及内容符合要求。实习答辩3015在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩:分补充说明:指导教师:(签字)日期:年月日毕业实习答辩记录表学生姓名:高强学号:0805090204班级:计科2班答辩地点:机电大楼417答辩内容记录:答辩成绩总分值各项分值评分标准实际得分总得分备注3015在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字):年月日指导教师评语指导教师:(签字)日期:年月日武汉工程大学计算机科学与工程学院毕业实习报告-1-一、实习目的与任务学习和掌握Intel开源计算机视觉库——OpenCV的基本用法,能够利用它进行基本的图像绘制,甚至边缘检测,云检测等。二、实习地点湖北省武汉市江夏区武汉工程大学流芳校区机电大楼419机房三、实习要求和内容(一)实习要求:1.会安装OpenCV和VC6(或者VS2005)并进行正确配置;2.能够用OpenCV进行图像的读入、显示、创建、复制和保存等;3.能够用OpenCV进行图像的简单绘制,比如直线、三角形、矩形、圆形、椭圆,并能够在图像中添加文本框和给图像上色;4.能够用OpenCV进行图像的边缘检测、云检测,以及能够初步理解条形码生成技术和检测技术。(二)实习内容:本次实习内容其实很简单,就是学习和掌握OpenCV的用法。OpenCV是Intel开源计算机视觉库,它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。要利用OpenCV进行开发,首先需要安装配置程序运行环境,下面以VS2005为例介绍安装配置的方法:1.安装VS2005和OpenCV;2.配置Windows环境变量。检查C:\ProgramFiles\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效(注意,此步骤可以省略,但如果省略的话,要记得把OpenCV的bin里的文件拷贝到VS2005所在的工程文件夹中);3.配置VS2005。首先,打开VS2005的工具-》选项-》项目和解决方案-》VC++目录,在库文件里面添加OpenCV的Lib库,在包含文件里面添加OpenCV的cxcore\include,cv\include,cvaux\include,ml\include,otherlibs\highgui,otherlibs\cvcam\include,接着在工程属性里面加入cxcore.libcv.libml.libcvaux.libhighgui.lib等需要的库即可。配置完OpenCV后就可以开始进行开发了。首先我们需要了解图像的特点,图像有两种,灰度(黑白)图和彩色图,而不管是黑白还是彩色,都有一个色彩深度的概念,即一种颜色有多少个灰度级,一般有8位,16位,32位之分,8位即2的8次方(256)个灰度级,比如8位灰度图中的像素只有0-255个灰度级,而8位彩色图中的像素则由红绿蓝三种颜色组成,每种颜色有0-255个等级。了解了这些之后,我们再来逐个讲解用OpenCV画图的重难点。1.图像的读入和显示IplImage*pImg;//声明IplImage指针用来载入图像pImg=cvLoadImage(argv,1);//利用cvLoadImage函数来载入图像,其中第一个参数为要载入的图像的地址,第二个参数为载入图像的类型(1为彩色图像)武汉工程大学计算机科学与工程学院毕业实习报告-2-cvNamedWindow(Image,1);//创建窗口用来显示图像,第一个参数为窗口的标题cvShowImage(Image,pImg);//显示图像,第一个参数为窗口的标题,第二个参数为要显示图像的指针cvWaitKey(0);//等待按键,后面的参数为等待的时间,单位为ms,为0则意为一直等到你按键为止,若改为1000则为图像显示1秒后消失cvDestroyWindow(Image);//销毁窗口cvReleaseImage(&pImg);//释放图像2.图像的创建,保存和复制IplImage*pImg=cvCreateImage(cvGetSize(pImg),pImg-depth,pImg-nChannels);//用cvCreateImage创建图像并用pImg指向该图像,第一个参数为图像的大小,第二个参数为图像的深度,第三个参数若为1则为彩色图,3则为黑白图cvCopy(pImg,pImg2,NULL);//将pImg指针所指图像复制到pImg2所指图像cvSaveImage(argv,pImg2);//把图像写入文件,arvg指新图像的地址或指针3.图像的基本绘制CvPoint//二维坐标系下的点,类型为整型,有x、y两个int成员CV_RGB(r,g,b)//颜色函数,rgb分别为红色分量、绿色分量、蓝色分量cvLine(pImg,cvPoint(50,50),cvPoint(50,400),CV_RGB(0,0,0))//在pImg图像上画直线,直线以两点(50,50)和50,400)确定,颜色为黑色cvRectangle(pImg,pt1,pt2,CV_RGB(0,0,0),1)//在pImg图像上画矩形,矩形以左上角pt1点和右下角pt2确定,颜色为黑色,最后一个参数若为-1则为填充为边框颜色的实心矩形,若为1则为空心矩形,即只有一个边框cvEllipse(pImg,pt1,cvSize(a,b),0,0,360,CV_RGB(0,0,0))//在pImg图像上画(椭)圆(弧),以pt1为圆心,ab为两个半轴长(为圆的话则ab相等),后面的三个参数分别为偏转角度0度、起始角度0度、结束角度360度,最后一个为画笔颜色CvFontx;cvInitFont(&x,CV_FONT_HERSHEY_SIMPLEX,1,1);cvPutText(pImg2,gaoq,cvPoint(200,200),&x,CV_RGB(255,0,0));//先声明一个字体结构变量x,然后用cvInitFont给x初始化字体的类型和大小粗细等,最后用cvPutText函数在pImg2图像上以x的字体输出字符串gaoq,颜色为红色(红色分量为255最大,其它为0,为红色)4.图像的边缘检测与云检测cvCanny(pDstImg,pDstImg,10,30)//边缘检测函数,云检测的基础,前两个pDstImg分别为源路径和目的路径,后面两个是阈值参数,根据情况自行设定voidcvThreshold(constCvArr*src,CvArr*dst,doublethreshold,doublemax_value,intthreshold_type);//二值化函数,其参数分别为原始数组,输出数组,阈值,最大值,阈值类型,(云检测也可用for循环等知识自己形成二值化图像,然后再用边缘检测函数勾勒出边缘,由于这个比较复杂,下面给出具体的代码)武汉工程大学计算机科学与工程学院毕业实习报告-3-#includestdio.h#includetime.h#includecv.h#includecxcore.h#includehighgui.h#pragmacomment(lib,cv.lib)#pragmacomment(lib,cxcore.lib)#pragmacomment(lib,highgui.lib)voidCloudDetect(IplImage*pSrcImg,IplImage*pDstImg,intwinWidth=3,doubleThAvg=0.4,doubleThVar=0.4);staticvoidNormalization(double*data,intsize,double*dst=NULL){doublemax=data[0];doublemin=data[0];inti;for(i=1;isize;i++){if(maxdata[i]){max=data[i];}if(mindata[i]){min=data[i];}}doublesub=max-min;if(sub0.00001){return;}double*pNor=(dst==NULL)?data:dst;for(i=0;isize;i++){pNor[i]=(data[i]-min)/sub;}}voidCloudDetect(IplImage*pSrcImg,IplImage*pDstImg,intwinWidth,doubleThAvg,doubleThVar){武汉工程大学计算机科学与工程学院毕业实习报告-4-inti,x,y;intiHeight=pSrcImg-height;intiWidth=pSrcImg-widthStep;//注意widthStep不是widthintiChannel=pSrcImg-nChannels;if(iChannel!=1){return;}BYTE*pSrcData=(BYTE*)(pSrcImg-imageData);BYTE*pDstData=(BYTE*)(pDstImg-imageData);intwinSize=winWidth;double*pAvgImg=newdouble[iWidth*iHeight];double*pVarImg=newdouble[iWidth*iHeight];//1.获取局部均值图,和局部方差图,并作归一化处理f

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功