关键词:Halcon;图像处理;视觉检测;木板缺陷检测;特征提取

对于木条、木板等木制品表观缺陷检测,是机器视觉检测在工业中的一个主要应用,而在这其中节子的提取和检测又是一项重要的品控检测指标,本文以节孔、死结和活节为例,分享从图像预处理(灰度化、直方图均衡化、平滑等)到特征提取(OTSU(大津分割算法)、形态学处理、区域增长、Blob分析、不变矩等)的完整过程,最终实现了缺陷的定位,并提取了多维特征,用于后续的SVM(支持向量机)或者神经网络训练的特征量输入。之所以没有选用深度学习,一是对于学生而言,直接采用深度学习最终效果的解释性不好,并且不易体现出自己的工作量,毕竟这样就不用前面的预处理和特征提取了。其次,对于某些场景的应用化角度,不一定总有特别大量的样本,并且部署时间也是一个问题。对于后面的SVM进行三种缺陷的分类代码,后续有时间再更新。下面为大致的操作思路流程以及大致的效果,完整的代码附在最后。最终的程序和图片可以去公众号直接白嫖。

1、图像灰度化
(1)取分量法(R、G、B随便一个)
(2)取最大值法
(3)取平均值法
(4)加权平均值法(R、G、B权值合适就行)
采用上述四种方法对采集的彩色图像(命名为灰度化图)进行灰度化处理。
2、直方图均衡化处理
分别对活节、死节和节孔图像进行直方图均衡化处理。
得到均衡化后对应的图像以及均衡化直方图。
3、图像平滑处理
对原图像(发给你的命名为灰度化图的图)添加噪声(如0.02椒盐噪声),分别运用以下滤波方法去噪。
(1)邻域平均值法
(2)中值滤波法
(3)自适应加权中值滤波法
得到图像平滑结果图像。
4、图像锐化
对上述活节、死节和节孔图像进行拉氏锐化和Sobel锐化。
得到锐化后图像。

5、图像分割
对上述活节、死节和节孔缺陷分别运用以下两种算法进行图像分割
(1)Otsu阈值分割算法
(2)基于区域生长分割算法

得到缺陷分割图像。

6、形态学后处理

对分割图像进行膨胀、腐蚀、开闭运算。

7、特征提取








代码:


程序源码可前往微信公众号【洞观科研】获取网盘链接下载。

基于halcon的木板缺陷检测算法代码-基于halcon的区域增长、大津分割算法、直方图均衡化相关推荐

  1. 论文研究 | 基于机器视觉的 PCB 缺陷检测算法研究现状及展望

    前面分享了机器视觉在汽车行业与交通行业的应用,其实机器视觉在工业上的应用是最广泛也是最具挑战性的,其中PCB板缺陷检测一直是机器视觉待攻克的难题.印刷电路板(PCB)是电子零件的基板,需求量极大,承载 ...

  2. 基于Halcon学习的缺陷检测【四】光伏电池片的指纹以及划痕检测【第一种方法】

    此例子主要是为了把光伏电池片的指纹以及划痕标注出来.  总代码: *读取图片 read_image (Image, 'E:/研究生学习/电池片练习/手指印/截图.png') *清除窗口 dev_cle ...

  3. 基于Halcon学习的缺陷检测【五】光伏电池片的指纹以及划痕检测【第二种方法】

     此例子主要是为了把光伏电池片的指纹以及划痕标注出来. 总代码:  *读取图片 read_image (Image, 'E:/研究生学习/电池片练习/手指印/截图.png')*清除窗口 dev_cle ...

  4. 基于MATLAB的胶囊缺陷检测

    目录 源码下载 1. Introduction 2 Proposed approach 2.1 胶囊板位置获取 2.2 去雾算法增强对比度 2.3 胶囊位置获取 2.4 胶囊位置校正 2.5 基于二值 ...

  5. 瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)

    销钉缺陷检测(Defect-Detection Method of Pins) 电力金具上销钉松动.缺失等常见缺陷严重影响着电力系统的稳定运行, 而该类缺陷的检测方式主要依赖于人工标注,致使效率低下. ...

  6. 基于PP-PicoDet的钢铁缺陷检测

    基于PP-PicoDet的钢铁缺陷检测 1.背景介绍 近年来,AI视觉检测在安防.工业制造等产业智能化升级进程中发挥着举足轻重的作用. 自动检查和缺陷检测系统使用 AI 来检查零部件的故障和缺陷.通过 ...

  7. 基于机器视觉的图像处理缺陷检测方法论文学习

    基于机器视觉的图像处理缺陷检测方法论文学习 Machine Vision based Defect Detection Approach using Image Processing Abstract ...

  8. 基于yolov5的PCB缺陷检测

    1.简述 基于图像识别技术实现自动印刷电路板(PCB)缺陷检测,具有高效.准确.可靠.自动化程度高和可扩展性强等优点,大大提高了检测效率,节省了人力成本.传统的检测方法通常需要大量的人力和时间,并且容 ...

  9. halcon 圆环类缺陷检测的一种方法(极坐标变换法)

    目录 简介 极坐标变换 定义 原理 Halcon中的极坐标变换 1.polar_trans_image_ext算子用法与参数剖析 2.polar_trans_region_inv算子用法与参数剖析 圆 ...

最新文章

  1. 【文末送5本书】与「韦神」齐名,35岁刁晗生任教清华!18岁一战成名,数学界颜值巅峰...
  2. 网络通信模型(IO模型)
  3. 隐式马可夫模型(hidden markov model,HMM)
  4. sklearn下的ROC与AUC原理详解
  5. 让就医流程更智能 道一循推医院官方APP
  6. idea搭建可运行Servlet的Web项目[maven]
  7. JVM自动内存管理机制——Java内存区域(下)
  8. ADO.NET - Optimistic Pessimistic Concurrency
  9. 使用工具Android Studio实现一个简单的Android版的新闻APP之美
  10. python词云图实例
  11. PS教程,今天它来了
  12. 生成9mb、10mb、20mb、30mb的星云图片,常用于图片测试
  13. 新传要不要学计算机,传媒计算机实在性:真实性表象和新传媒
  14. spyder5 更改为简体中文的方法,与spyder4不同
  15. 报错 Duplicate keys detected
  16. CDN 是什么 、CDN 引入
  17. Dogfight :从无人机视频中检测无人机
  18. c语言零基础自学,c语言零基础入门 该如何学习
  19. 8、ARM嵌入式系统:UART初始化
  20. 生病的日子里(年轻人得注重身体啊)

热门文章

  1. 列控安全计算机,一种高铁列控安全计算机的架构以及主备切换方法专利_专利查询 - 天眼查...
  2. 延大西院计算机学院,陕西拟新增72个博士点,西邮延大西工程大登榜,西法大凉凉!...
  3. 读研三年花了多少钱?这账单……都不敢信!
  4. 计算机数值模拟方法的应用,一种材料结晶过程的计算机数值模拟方法与流程
  5. Linux下ODBC安装配置
  6. 【Unity入门】12.MonoBehaviour事件函数
  7. 机器学习入门一:基础知识
  8. 如何设计一个亿级消息量的 IM 系统
  9. 2021年电工(中级)模拟考试题库及电工(中级)模拟考试系统
  10. 经典面试题-元组和列表的区别