目录
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯基于机器视觉的木材表面缺陷检测-OpenCV
课题背景和意义
原材料和劳动力成本的持续上涨迫使木制品企业需要通过提高产品的质量和提高生产力来控制成本。
在木材加工过程中,木材表面缺陷不但会影响木材强度,还严重影响木材加工和木制装饰的质量及外观。
当前的木材加工生产中,表面缺陷检测环节大多仍依赖于人工,检测的效率会随着检测人员的疲劳加重而下降。
由于不同检测员的认识不同,且木材表面缺陷种类众多,人工检测很难对所有的表面给出一个客观准确的评价。
同时人工检测速度慢、
效率低
,因此,寻找一种简单易行
、
稳定的木材表面缺陷检测方法对于提高木制品企业的产品质量和降低生产成本非常重要。目前,随着计算机视觉技术及木工机械的发展,基于计算机视觉的表面缺陷检测技术已在木材加工制造中
逐渐得到应用。
通过采用计算机视觉技术,开发一套木材表面缺陷自动检测系统。
通过调用
Open CV
的内置函数,该系统可以迅速识别出待检测木板是否含有缺陷并做出标记,对于木材加工企业实现自动化生产具有重要意义。
实现技术思路。
一、表面缺陷分析及检测方案设计
木材表面缺陷分析及检测原理
典型的木板缺陷图片如图所示
。
该木板图像分为缺陷区、条纹区、非条纹三个区域
。
其中,缺陷区呈块状,相较于其它部分颜色最深;条纹呈线状,颜色略浅;非条纹部分颜色最浅。
检测系统结构及检测流程
该木板检测系统硬件结构如图
所示,总体上分为图像识别、
动力传输
、
打标三个部分
。
其中,图像检测识别装置部分包含工业CCD
摄像头
、
图像采集卡
、
计算机
、
稳定光源、
遮光罩等
。
二、表面缺陷图像识别
采用
PC
机进行图像识别系统的开发,主机
CPU为Inter
(R)
Core
(
TM
)
i3-4130 3.40 GHz,
内存
4.00 GB,
操作系统Windows 7
旗舰版
。
开发语言采用
Python
进行编程,开发工具为IDLE
(
Python 3.6 64-bit
)
。
通过
Python
调用Open CV
库的方法,来实现对图像的检测与识别功能
。
图像灰度转换及滤波
在Open CV中,读入图像的色彩空间为BGR,需首先将图像转换为灰度图才能进行后续处理。在进行灰度转化后得到图(a)。可以看出图像中有部分噪声。为了消除噪声,需对图像进行滤波处理。采用高斯滤波, 得到滤波结果如图(b)所示。
图像二值化及闭运算
根据检测系统的检测原理,木材表面图像缺陷部分的灰度值小于其余部分。
采用
Open CV
自带的阈值分割函数,在设置阈值后进行图像的二值化。
小于该阈值的缺陷部分为0
,显示为黑色,大于该阈值的其余部分为
255
,显示为白色。
图像边缘检测
接上一步计算结果,采用
Open CV
自带的
find Contours函数来查找检测物体的轮廓,用draw Contours
函数在源图上绘制缺陷部分的轮廓。
其中,
find Contours
函数可返回一个数组,该数组中每个元素为一个缺陷轮廓,数组长度为检测到的所有缺陷数量。
边缘检测结果如图:
缺陷判断
在得到边缘检测结果后,需根据缺陷数量来判断该幅图片是否含有缺陷。
观察可发现,缺陷的轮廓为非规则图形,无法直接统计其数量和大小。在此可先遍历边缘检测结果,利用Ope CV
内置函数找出包围缺陷轮廓的最小矩形如图:
三、系统识别性能测试
测试装置及测试方法
该实验装置图像识别部分如图
所示
。
木板为手工拖动,每帧图像之间设置
适采样间隔以方便人工检测记录
。
实验步骤为:
1
)人工观察 木 板 并 判 断 木板是否有缺陷,做出相应记录;
2
)运行自动检测系统, 摄像头摄入图像, 进 行 自 动 检 测 并输 出 检 测 结 果 和耗时;
3
)当前单块木板检测完成后,更 换 木 板 进 行 下一次检测。
如此重复数次,将计算机检测结果与人工检测结果进行对比,计算该检测系统的合格率。
该测试不 仅 包 含木 板 天 然 形 成的缺陷,还包括人为涂抹制造的缺陷。木板表面可见的缺陷,其大小、形状、数 量 以 及 在 每块 板 中 所 处 的位置均不同。且不同木板的色泽、色彩分布均匀程度、
木材纹理粗细
、
木纹间隔等都有所不同。
部分自动测试结果如表
所示:
实现效果图样例
采用Graph Cuts算法对图活节缺陷图像进行分割
灰度图像:
对活节灰度图像进行3次人工种子点标记(其中红色为目标标记,蓝色为背景标记,且标记画笔的半径是5个像素),如图:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!