《机器视觉系统应用》课件-胶囊药品检测_第1页
《机器视觉系统应用》课件-胶囊药品检测_第2页
《机器视觉系统应用》课件-胶囊药品检测_第3页
《机器视觉系统应用》课件-胶囊药品检测_第4页
《机器视觉系统应用》课件-胶囊药品检测_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

胶囊检测方法讲解课程引入相关库的获取和导入原理分析一二三目录能力目标(1)能够完成对胶囊个数的计算。知识目标(1)了解胶囊识别原理。素质目标(1)具有严谨求实精神;(2)具有自主学习的能力;(3)具备5S职业素养。课程目标一课程引入药品的数量检测是药品检测的重要环节之一,由于其需求量大,质量检测要求高,以目前的人力方式检测总具有不稳定性,缺乏持久度。为此,采用机器视觉技术应用于药品的数量检测可以克服人工检测的许多弊端,并提高了其准确度与工作效率,同时也能降低企业的成本。本例程实现了一个简单的检测计算胶囊个数的方法。二相关库获取和导入导入库本章节我们需用到的库如下图示意分别是cv2、numpy。cv2是opencv-python用于图像处理。numpy是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nestedliststructure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。二库导入pycharm软件界面相关库获取和导入三原理分析图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。三原理分析图像二值化的一些方法:三原理分析总结:cv2.THRESH_BINARY当像素值>阀值时,为默认值;否则为0cv2.THRESH_BINARY_INV与cv2.THRESH_BINARY相反cv2.THRESH_TRUNC当像素值>阀值时,为默认值;否则为原图片值cv2.THRESH_TOZERO当像素值>阀值时,为原图片值;否则为0cv2.THRESH_TOZERO_INV与cv2.THRESH_TOZERO相反三原理分析闭操作原理:闭操作:即先膨胀,然后对膨胀后的结果进行腐蚀胶囊检测运行演示课程引入代码分析代码演示一二三目录一课程引入药品的数量检测是药品检测的重要环节之一,由于其需求量大,质量检测要求高,以目前的人力方式检测总具有不稳定性,缺乏持久度。为此,采用机器视觉技术应用于药品的数量检测可以克服人工检测的许多弊端,并提高了其准确度与工作效率,同时也能降低企业的成本。本例程实现了一个简单的检测计算胶囊个数的方法。二代码分析

在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代表阈值分割的类型,具体类型值如表3-1所示。图像二值化

二代码分析

1)在Opencv中,使用函数cv2.erode()实现腐蚀操作,其语法格式为:dst=cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])式中:dst是腐蚀后所输出的目标图像,该图像和原始图像具有同样的类型和大小。src是需要进行腐蚀的原始图像。kernel代表腐蚀操作时所采用的结构类型。anchor代表element结构中锚点的位置。该值默认为(-1,-1),在核的中心位置。iterations是腐蚀操作迭代的次数,该值默认为1,即只进行一次腐蚀的操作。borderType代表边界样式。borderValue是边界值,一般采用默认值。2)在Opencv中,使用函数cv2.dilate()实现膨胀操作,其语法格式为:dst=cv2.dilate(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])式中的参数与腐蚀里的参数一致。3)在Opencv中,实现开运算的语法格式为:Opening=cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)4)在Opencv中,实现闭运算的语法格式为:Closing=cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)形态学运算

三代码演示三代码演示灰度图用cv2.THRESH_BINARY方法二值化gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转成灰度图cv2.imshow('gray',gray)ret,binary=cv2.threshold(gray,200,255,cv2.THRESH_BINARY)#二值化cv2.imshow('binay',binary)三代码演示闭操作binary=cv2.morphologyEx(binary,cv2.MORPH_CLOSE,kernel,anchor=(2,0),iterations=5)#形态学闭操作cv2.imshow('close',binary)三代码演示结果contours,hierarchy=cv2.findContours(binary,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)#找边沿conts=np.size(contours)cv2.drawContours(img,contours,-1,(0,0,255),3)#画出边沿print("有%s个胶囊"%conts)data=("Thereare%scapsulesinthepicture"

温馨提示

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

评论

0/150

提交评论