机器视觉第七次实验

一、实验目的

通过OpenCV第七次进行实验,对图片进行缺陷检测。

二、实验内容

对图片进行缺陷测量。

三、实验过程

我使用的是python语言+openCV对图片进行缺陷检测的功能。实验过程我们需要导入的库有import cv2;from PIL import Image, ImageDraw, ImageFont;

1)读取图片并且将其灰度化

我们采用一个for循环来读取所有需要被检测的图片,然后将其灰度化,使用imread()函数读取图片,

代码实例:

img = cv2.imread("0.bmp")

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

for i in range(1, 6):

t1=cv2.cvtColor(cv2.imread(str(i)+".bmp"),cv2.COLOR_RGB2GRAY)

图3.1图片灰度化

2)计算图片的直方图

使用calcHist()函数进行计算:

实例代码:

#计算图像直方图

hist = cv2.calcHist([gray], [0], None, [256], [0.0,255.0])

h1 = cv2.calcHist([t1], [0], None, [256], [0.0,255.0])

3)图片上字体,字号

输入的代码:

#对比图片相似度

result = sum(hist - h1)[0]

#打开PIL创建的图像

im = Image.open(str(i) + ".bmp")

#创建一个操作对象

draw = ImageDraw.Draw(im)

#字体对象为simsun,字大小为30号

fnt = ImageFont.truetype(r'C:\Windows\Fonts\simsun.ttc', 30)

4)判断图片是否合格

使用一个if语句,如果图片对比原图相似度小于10,则合格;否则不合格。

实例代码:

if result < 10:

draw.text((5, 10), u'合格', fill='red', font=fnt)

else:

draw.text((5, 10), u'不合格', fill='red', font=fnt)

5)显示图片

实例代码:

im.show("result"+str(i)+".png")

图3.2显示合格与否的图片

四、实验中的错误

此次实验中未遇到到太大的问题。

五、实验总结

学习了OpenCV的缺陷检测技术,提升了自己的能力。

python图像缺陷检测_python OpenCV 实现缺陷检测相关推荐

  1. python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图

    本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...

  2. python图片目标检测_python+opencv实现目标检测中图片怎么插入

    匿名用户 1级 2018-04-17 回答 考虑的是"背景帧"与其它帧之间的差异 这种方法检测结果还是挺不错的,但是需要提前设置背景帧,如果是在室外,光线的变化就会引起误检测,还是 ...

  3. python颜色识别原理_python+opencv实现颜色检测、轮廓检测、颜色追踪

    准备工作 python配置numpy和openCv库 读取图像和视频图像cv2.imread(路径) cv2.imshow(窗口名称,输出对象) cv2.waitkey(等待时间)import cv2 ...

  4. python图像轮廓识别_Python+OpenCV图像处理(十六)—— 轮廓发现

    简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果. 代码如下: importcv2 as cvimportnumpy as npdefcontou ...

  5. python图像融合算法_Python OpenCV 实现图像融合

    原标题:Python OpenCV 实现图像融合 来自:https://www.linuxmi.com/python-opencv-image-blending.html 在本文中,我们将讨论Pyth ...

  6. python 图像无缝拼接_Python+OpenCV实现图像的全景拼接的代码

    环境:python3.5.2 + openCV3.4 1.算法目的 将两张相同场景的场景图片进行全景拼接. 2.算法步骤 本算法基本步骤有以下几步: 步骤1:将图形先进行桶形矫正 没有进行桶形变换的图 ...

  7. hough变换直线检测_python+opencv实现霍夫变换检测直线

    作者:Ruff_XY 功能: 创建一个滑动条来控制检测直线的长度阈值,即大于该阈值的检测出来,小于该阈值的忽略 注意:这里用的函数是HoughLinesP而不是HoughLines,因为HoughLi ...

  8. python行人检测_行人检测 基于 OpenCV 的人体检测

    原文链接行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 行人检测 基于 OpenCV 的人体检测 我们都知道,无论性别,种族或种族如何,我们的身体都具有相同的基本结构. ...

  9. opencv canny源码解析_行人检测 基于 OpenCV 的人体检测

    原文链接 行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 在 2019年8月1日 上张贴 由 hotdog发表回复 行人检测 基于 OpenCV 的人体检测 我们都知道 ...

最新文章

  1. 统计学习方法第十四章作业:聚类—层次聚类聚合/分裂算法、K_means聚类算法 代码实现
  2. 工行金融级微服务架构的实践
  3. 可变字典 NSMutableDictionary
  4. 字节跳动将推出汽车云业务,计划2025年追赶腾讯
  5. 4.企业应用架构模式 --- Web表现层
  6. [USB 设备检测_1]-使用 H2testw 1.4 或其她工具检测新买的朗科 U 盘读写速度及是否是扩容盘
  7. 前端知识点——Web Sockets
  8. 那些年,我们一起做过的 Java 课后练习题(71 - 75)
  9. 【笔记】研究生的早期科研之路(作者:中国人民大学 赵鑫)
  10. 写给学生看的系统分析与验证笔记(十二)——验证ω-正则属性(Verifying ω-regular properties)
  11. camtasia 2022标准版录制电脑屏幕视频教程
  12. 什么电子邮箱最安全,什么邮箱更具私密性?
  13. 大健康、医疗服务、商城系统、内容管理、健康数据统计、医疗问诊、慢病管理、科室管理、问诊订单、看病、挂号预约、体检订单、疾病管理、血压、血糖、运动、睡眠、物流、体温、体重、计步、心率、医院、医生、售后
  14. go kafka 配置SASL认证及实现SASL PLAIN认证功能
  15. 微信公众号网页授权多域名解决方案
  16. python云计算1
  17. Shaolin(map+iterator) HDU - 4585
  18. caffe代码阅读8: Data_layers的实现细节(各个数据读取层的实现细节) 2016.3.25-28
  19. html格子像素画,canvas像素画板的实现代码
  20. 【Pixhawk】PX4源码控制逻辑详解(以UGV小车为例)

热门文章

  1. 《A fast parallel algorithm for thinning digital patterns》论文算法python代码实现
  2. BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商...
  3. UVALive 6959 - Judging Troubles
  4. wifi6无线网卡驱动linux,Centos6.5 WIFI无线网卡驱动BCM43142驱动安装
  5. android 单元布局,在Android布局中挖洞
  6. 【算法】机器人走迷宫(适用于走迷宫、最短路径算法)-20200412
  7. Jupyter Notebooks学习分享
  8. swiper 轮播 多行多列 横向排列
  9. 开发步骤_APP开发和上市的步骤
  10. 【Android 无法修改App名字】