《机器视觉系统应用》课件-手机卡托尺寸测量程序运行演示_第1页
《机器视觉系统应用》课件-手机卡托尺寸测量程序运行演示_第2页
《机器视觉系统应用》课件-手机卡托尺寸测量程序运行演示_第3页
《机器视觉系统应用》课件-手机卡托尺寸测量程序运行演示_第4页
《机器视觉系统应用》课件-手机卡托尺寸测量程序运行演示_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

手机卡托尺寸测量程序运行演示课程引入代码分析代码演示一二三目录能力目标检测sim卡卡托尺寸,通过计算尺寸面积确认合格与否;知识目标(1)图像二值化;(2)边缘提取;(3)像素当量、像素数量转化为物理面积。课程目标一课程引入手机在当今的社会十分的重要,可以说人们已经离不开对手机的使用了。人们通过插入手机卡,就可以使用手机进行打电话、发短信和上网冲浪等,大大丰富了人们的生活。但是手机卡的使用还要依赖于卡托,如果卡托的尺寸不正确,就会导致无法顺利安装进手机内部,即使安装进去了,也会导致手机无法识别手机卡的信息,需要正常使用的话,需要用户到相应地方进行更换,给用户带来很大的麻烦。在当今对卡托需求量很大的情况下,人工检测的工作量是很大的,而且容易在检测过程中造成视觉疲劳,大大增加了产品的不合格率。数字图像处理技术的检测方面已经被广泛应用了。为了提高卡托生产的合格率,本案例将展开对卡托尺寸检测技术的讨论,通过计算尺寸面积确定产品合格与否。二代码分析

在Opencv中可直接使用函数cv2.cvColor()将彩色图像转为其它类型的图像。其语法格式为:dst=cv2.cvtColor(src,code[,dstCn])式中:dst表示输出图像,与原始输入图像具有同样的数据类型和深度。Src表示原始输入图像。可以是8位无符号图像、16位无符号图像,或者单精度浮点数等。Code是色彩空间转换码,常用的有:cv2.COLOR_BGR2GRAY#彩色图像转换为灰度图cv2.COLOR_GRAY2BGR#灰度图像转换为彩色图cv2.COLOR_BGR2RGB#BGR彩色图像转换为RGB彩色图dstCn是目标图像的通道数。如果参数为默认的0,则通道数自动通过原始输入图像和code得到。图像灰度化二代码分析

在Opencv中可使用cv2.threshold()函数进行阈值化处理,该函数的语法格式为:Retval,dst=cv2.threshold(src,thresh,maxval,type)式中:retval代表返回的阈值。dst代表阈值分割结果图像,与原始图像具有相同的大小和类型。src代表要进行阈值分割的图像,可以是多通道的,8位或32位浮点型数值。thresh代表要设定的阈值。maxval代表当type参数为THRESH_BINARY或者THRESH_BINARY_INV类型时,需要设定的最大值。type代表阈值分割的类型,具体类型值如表所示。图像二值化

二代码分析一个轮廓对应着一系列的点,这些点以某种方式表示图像中的一条曲线。在Opencv中,函数cv2.findContours()用于查找图像的轮廓,并能够根据参数返回特定表示方式的轮廓(曲线)。函数cv2.drawContours()能够将查找到的轮廓绘制到图像上,该函数可以根据参数在图像上绘制不同样式(实心/空心点,以及线条的不同粗细、颜色等)的轮廓,可以绘制全部轮廓也可以仅绘制制定的轮廓。函数cv2.findContours()的语法格式为:image,contours,hierarchy=cv2.findContours(image,mode,method)式中的返回值为:image:与函数参数中的原始图像image一致。contours:返回的轮廓。hierarchy:图像的拓扑信息(轮廓层次)。式中的参数为:image:原始图像。8位单通道图像,所以非零值被处理为1,所有零值保持不变。也就是说灰度图像会被自动处理为二值图像。在实际操作时,可以根据需要,预先使用阈值处理等函数将待查找轮廓的图像处理为二值图像。mode:轮廓检索模式。method:轮廓的近似方法。轮廓提取

二代码分析函数cv2.drawContours()的语法格式是:image=cv2.drawCountours(image,contours,contourIdx,color[,thickness[,lineType[,hierarchy[,maxLevel[,offset]]]]])其中,函数的返回值为image,表示目标图像,即绘制了边缘的原始图像。式中:image:待绘制轮廓的图像。contours:需要绘制的轮廓。contourIdx:需要绘制的边缘索引,告诉函数cv2.drawContours()要绘制某一条轮廓还是全部轮廓。color:绘制的颜色,用BGR格式表示。thickness:可选参数,表示绘制轮廓时所用画笔的粗细。lineType:可选参数,表示绘制轮廓时所用的线型。hierarchy:对应函数cv2.drawContours()所输出的层次信息。maxLevel:控制所绘制的轮廓层次的深度。Offset:偏移参数。该参数使轮廓偏移到不同的位置展现出来。轮廓提取

二代码分析函数cv2.arcLength()用于计算轮廓的长度,其语法格式为:retval=cv2.arcLength(curve,closed)式中返回值retval是轮廓的周长。curve是轮廓。Closed是布尔型值,用来表示轮廓是否是封闭的。该值为Ture时,表示轮廓是封闭的。函数cv2.contourArea()用于计算轮廓的面积。该函数的语法格式为:retval=cv2.contourArea(contour[,oriented])式中的返回值retval是面积值。式中有两个参数:contour是轮廓。Oriented是布尔型值。当它为True时,返回的值包含正/负号,用来表示轮廓是顺时针还是逆时针的。该参数的默认值是False,表示返回的retval是一个绝对值。计算周长和面积

二代码分析在Opencv中可以使用cv2.putText()函数在图片中添加文本。如本案例中的cv2.putText(newing,str(i),(375,150),font,1,(0,255,0))各参数依次为图片,添加的文本,左上角坐标,字体,字体大小,颜色。写入边数值

#转灰度图片

img=cv2.imread(path)

new_img=cv2.imread(path)

img=cv2.resize(img,(640,480))

gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#

图像二值化

ret,binary=cv2.threshold(gray,127,255,cv2.THRESH_BINARY)灰度图二值图图像二值化三代码演示#轮廓检测contours,hierarchy=cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)#绘制轮廓newimg=cv2.resize(newimg,(640,480))#只保留边框cv2.drawContours(newimg,contours[1],-1,(255,0,255),3)二值图轮廓提取图轮廓提取三代码演示x,y,w,h=cv2.boundingRect(contours[1])cv2.rectangle(newimg,(x,y),(x+w,y+h),(0,255,0),2)轮廓提取图绘制边框绘制边框三代码演示#计算周长perimeter=cv2.arcLength(contours[1],True)#计算面积area=cv2.contourArea(contours[1])计算周长和面积三代码演示#写入边数值font=cv2.FONT_HERSHEY_SIMPLEXcv2.putText(newimg,str(h),(375,150),font,1,(0,255,0))cv2.putText(newimg,str(h),(175,150),font,1,(0,255,0))cv2.putText(newimg,str(w),(275,50),font,1,(0,255,0))cv2.putText(newimg,str(w),(275,305),font,1,(0,255,0))cv2.putText(newimg,str(perimeter),(0,15),font,0.5,(255,0,255))cv2.putText(newimg,str(area),(0,30),font,0.5,(255,0,255))cv2.putText(newimg,str(w*2+h*2),(0,45),font,0.5,(0,255,0))写入边数值三代码演示计算三角形区域后三代码演示tri_data1="a:"+str(a)+"b:"+str(b)+"c:"+str(c)tri_data2="d1:"+str(d1)+"d2:"+str(d2)cv2.putText(new_img,tri_data1,(0,60),font,0.5,(255,255,0))cv2.putText(new_img,tri_data2,(0,75),font,0.5,(255,255,0))cv2.putText(new_img,str(h),(375,180),font,1,(255,0,255))cv2.putText(new_img,str(h-a),(175,180),font,1,(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论