Python-OpenCV实现图像缺陷检测的实例


Posted in Python onJune 11, 2021

在Jupyter Notebook上使用Python+opencv实现如下图像缺陷检测。关于opencv库的安装可以参考:Python下opencv库的安装过程与一些问题汇总

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

1.实现代码

import cv2
import numpy
from PIL import Image, ImageDraw, ImageFont

#用于给图片添加中文字符
def ImgText_CN(img, text, left, top, textColor=(0, 255, 0), textSize=20):
    if (isinstance(img, numpy.ndarray)):  #判断是否为OpenCV图片类型
        img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    draw = ImageDraw.Draw(img)
    fontText = ImageFont.truetype("font/simhei.ttf", textSize, encoding="utf-8")
    draw.text((left, top), text, textColor, font=fontText)
return cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR)

#读取原图片
image0=cv2.imread("0.bmp")
cv2.imshow("image0", image0)
#灰度转换
gray0 = cv2.cvtColor(image0, cv2.COLOR_RGB2GRAY)
cv2.imshow("gray0", gray0)for i in range(1,6):
    img0=cv2.imread(str(i)+".bmp")#原图片
    img=cv2.cvtColor(cv2.imread(str(i)+".bmp"),cv2.COLOR_RGB2GRAY)#灰度图
    #使用calcHist()函数计算直方图,反映灰度值的分布情况
    hist = cv2.calcHist([gray0], [0], None, [256], [0.0,255.0])
    h1 = cv2.calcHist([img], [0], None, [256], [0.0,255.0]) 
    #计算图片相似度
    result = cv2.compareHist(hist,h1,method=cv2.HISTCMP_BHATTACHARYYA)#巴氏距离比较,值越小相关度越高,最大值为1,最小值为0
    #print(result)
    #设定阈值为0.1,若相似度小于0.1则为合格,否则不合格
    if result <0.1:
        detect=ImgText_CN(img0, '合格', 10, 10, textColor=(255, 0, 0), textSize=30)
    else:
        detect=ImgText_CN(img0, '不合格', 10, 10, textColor=(255, 0, 0), textSize=30)
    cv2.imshow("Detect_" +str(i),detect)
cv2.waitKey(0)

2.运行结果

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

Python-OpenCV实现图像缺陷检测的实例

到此这篇关于Python-OpenCV实现图像缺陷检测的实例的文章就介绍到这了,更多相关OpenCV 图像缺陷检测内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python字符串格式化
Jun 15 Python
windows下python连接oracle数据库
Jun 07 Python
python select.select模块通信全过程解析
Sep 20 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
详解django的serializer序列化model几种方法
Oct 16 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
Python turtle画图库&amp;&amp;画姓名实例
Jan 19 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
Python中OpenCV实现简单车牌字符切割
Python排序算法之插入排序及其优化方案详解
Python下opencv库的安装过程及问题汇总
Jun 11 #Python
Python实现信息轰炸工具(再也不怕说不过别人了)
撤回我也能看到!教你用Python制作微信防撤回脚本
用Python创建简易网站图文教程
python+opencv实现视频抽帧示例代码
You might like
使用TinyButStrong模板引擎来做WEB开发
2007/03/16 PHP
joomla内置的表单验证功能使用方法
2010/06/11 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
jquery异步请求实例代码
2011/06/21 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
python 实时遍历日志文件
2016/04/12 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
django中使用POST方法获取POST数据
2019/08/20 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
Python之matplotlib绘制饼图
2022/04/13 Python