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的发展史
Sep 26 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
Python argparse模块应用实例解析
Nov 15 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
Python线程threading模块用法详解
Feb 26 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
如何表示python中的相对路径
Jul 08 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
Python 文本滚动播放器的实现代码
Apr 25 Python
Python中OpenCV实现简单车牌字符切割
Python排序算法之插入排序及其优化方案详解
Python下opencv库的安装过程及问题汇总
Jun 11 #Python
Python实现信息轰炸工具(再也不怕说不过别人了)
撤回我也能看到!教你用Python制作微信防撤回脚本
用Python创建简易网站图文教程
python+opencv实现视频抽帧示例代码
You might like
PHP 第二节 数据类型之数值型
2012/04/28 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
JS定时器实例详细分析
2013/10/11 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
2019/09/06 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
python使用logging模块发送邮件代码示例
2018/01/18 Python
详解Python中的动态属性和特性
2018/04/07 Python
python实现音乐下载的统计
2018/06/20 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
Python 在函数上添加包装器
2020/07/28 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
宿舍使用违章电器检讨书
2014/01/12 职场文书
办公室人员先进事迹
2014/01/27 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
合理化建议书
2015/02/04 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python