*获取图像大小
get_image_size (Image, Width, Height)
*将图像转化为频域图像
rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)
*生成一个高斯滤波核
gen_gauss_filter (ImageGauss, 50, 50, 0, 'n', 'rft', Width, Height)
*将频域图像核高斯滤波核进行卷积运算
convol_fft (ImageFFT, ImageGauss, ImageConvol)
*将卷积后的图像转换为空间域图像
rft_generic (ImageConvol, IlluminationImage, 'from_freq', 'none', 'byte', Width)
return ()* select_mask_obj selects one or more single elements of the object array
* Objects and returns them in SelectedObjects.
* The elements of Mask determine if the corresponding elements of Objects are selected.
* If the value is greater than 0, the corresponding element is selected.
*
* Check number of elements
count_obj (Objects, Number)
if (Number != |Mask|)throw ('Number of elements in Objects and Mask do not match.')
endif
*
* Check type of mask elements
AllNumbers := sum(is_real_elem(Mask)) + sum(is_int_elem(Mask)) == |Mask|
if (not AllNumbers and Mask != [])throw ('Invalid type: Elements of Mask must be integer or real numbers.')
endif
*
* Use select_mask for tuples to generate a list of object indices.
Indices := select_mask([1:|Mask|],Mask)
select_obj (Objects, SelectedObjects, Indices)
return ()
* 关闭窗口
dev_close_window ()*关闭程序计数器,图形变量,窗口图形更新
dev_update_off ()*图像路径
Path := 'lcd/mura_defects_texture_'*读取一张图像
read_image (Image, Path + '01')*获取图像大小
get_image_size (Image, Width, Height)*打开一个新窗口
dev_open_window (0, 0, 640, 480, 'black', WindowHandle)*设置字体信息:字体大小为16,字体为mono,粗体,斜体
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')*设置区域的填充方式
dev_set_draw ('margin')*设置线宽度
dev_set_line_width (3)*设置输出对象显示颜色
dev_set_color ('red')for F := 1 to 2 by 1read_image (Image, Path + F$'.2i')*获取彩色图像的三个通道,R,G,Bdecompose3 (Image, R, G, B)*缺陷是暗斑。 因此,通过原始图像减去背景照明,从而使缺陷变得更加明显。estimate_background_illumination (B, ImageFFT1)*用缺陷图减去背景图sub_image (B, ImageFFT1, ImageSub, 2, 100)*中值滤波median_image (ImageSub, ImageMedian, 'circle', 9, 'mirrored')*提取分水岭盆地watersheds_threshold (ImageMedian, Basins, 20)*计算灰度共生矩阵的灰度值特性,暗斑的能量非常低cooc_feature_image (Basins, ImageMedian, 6, 0, Energy, Correlation, Homogeneity, Contrast)*Energy小于0.05,Mask为1,否则为0Mask := Energy [<=] 0.05select_mask_obj (Basins, Defects, Mask)* 显示图像dev_display (Image)* 显示缺陷dev_display (Defects)stop()endfor

halcon 皮革纹理表面缺陷检测相关推荐

  1. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  2. 论文精读:基于深度学习的表面缺陷检测方法综述

    摘要: 基于表面缺陷检测方法,根据数据标签的不同将其分为全监督学习模型方法.无监督学习模型方法和其他方法.细分归类,对比分析,总结每种方法优缺点,应用场景. Introduction         ...

  3. AI-无损检测方向速读:基于深度学习的表面缺陷检测方法综述

    1 表面缺陷检测的概念 表面缺陷检测是机器视觉领域中非常重要的一项研究内容, 也称为 AOI (Automated optical inspection) 或 ASI (Automated surfa ...

  4. 论文《基于深度学习的表面缺陷检测方法综述》学习笔记

    <基于深度学习的表面缺陷检测方法综述>学习笔记 前段时间完成了<基于图像的零部件缺陷识别系统设计>毕业课程设计,过程中收获了很多,老师也分享了很多论文,在此记录一下学习的收获. ...

  5. Halcon 光度立体法应用(二)——皮革表面缺陷检测

    Halcon 光度立体法应用--皮革表面缺陷检测 如果想深刻.系列的了解光度立体法,建议根据博客顺序观看.在这个例程中将会介绍通过光度立体法生成的图像适用场景. 总体代码注释说明 * 此例程介绍的是利 ...

  6. Halcon 缺陷检测 金属拉丝表面缺陷检测(乘法增强、傅里叶变换与卷积、纹理过滤、动态阈值)

    Halcon 缺陷检测 拉丝表面缺陷检测(乘法增强.傅里叶变换与卷积.纹理过滤.动态阈值) 文件下载 链接:https://pan.baidu.com/s/1HNl4vy0jEaFx5OUuBDAMX ...

  7. Halcon表面缺陷检测

    Halcon表面缺陷检测 本文章转载自 link 1* Optimize the fft speed for the specific image size 优化特定图像大小的FFT速度 optimi ...

  8. halcon 纹理检测_Halcon 纹理缺陷检测 apply_texture_inspection_model

    在纹理中找瑕疵.基于高斯混合模型(GMM)分类器的纹理检查模型,适用于图像金字塔,可以分析纹理的多个频率范围. [要求]训练样本,必须完美无瑕疵. [步骤] 1.创建模型 2.加载训练样本 3.训练模 ...

  9. 机器视觉表面缺陷检测综述

    转自:http://www.cjig.cn/html/jig/2017/12/20171202.htm#b22 机器视觉表面缺陷检测综述 <中国图像图形学报> Tang B, Kong J ...

最新文章

  1. Linux 启动mysql
  2. JavaScript 访问对象属性和方法及区别
  3. JAVA的23种设计模式
  4. 利用python爬虫(案例2)--X凰的一天
  5. 数据结构 【实验3 链表基本操作】
  6. PAT 1114 Family Property 并查集
  7. 静态库的冲突 duplicate symbol
  8. 网络篇 使用Visio来画流程图(进阶篇)-01.1
  9. keil5的安装详解(看完必会,不会你打我)
  10. 寒武纪MLU270 平台 CNStream 学习记录
  11. 高等数学Mathematica实验题——2.2 - 17.根号2的连分式展开(Expansion of square 2)
  12. React 问题总结
  13. 原来,数据分析还可以这样干......
  14. vue 输入中文转拼音首字母(附转大写)
  15. java 日期格式常量_Java 日期格式类
  16. 开放接口API安全性
  17. 时间类的12小时制输出
  18. android 局域网 推送,通过RabbitMQ实现消息推送功能 可同时实现局域网推送和广域网推送...
  19. linux安装nexus私库
  20. 第一课《linux入门基础》

热门文章

  1. 如何恢复Oracle delete的数据
  2. 2021 福大 计算机类 转专业
  3. h5应用 vue 钉钉_钉钉微应用的开发——主前端
  4. 部署饥荒联机版Linux服务器
  5. 用ChatGPT生成Excel公式,太方便了
  6. aspire鹦鹉螺_Aspire 鹦鹉螺 X 雾化器使用评测
  7. 搭建steam饥荒专用(本地)服务器
  8. 一文解决,WPS编辑word文档时,批注的解决按钮灰色无法点击
  9. 1000行代码写小游戏(五)
  10. Java 设置Excel页面背景