上结果:

上代码:

*初始化
dev_update_off ()
dev_close_window ()
read_image (Image, 'plastics/plastics_01')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
*定义region填充模式(如果设置为'margin',则只显示轮廓)
dev_set_draw ('margin')
dev_set_line_width (3)
*设置窗口输出颜色为红色
dev_set_color ('red')
*
*根据指定图像大小进行fft(快速傅里叶变换)速度最优化
optimize_rft_speed (Width, Height, 'standard')
*
*结合两个高斯滤波器构造一个合适的滤波器
Sigma1 := 10.0
Sigma2 := 3.0
gen_gauss_filter (GaussFilter1, Sigma1, Sigma1, 0.0, 'none', 'rft', Width, Height)
gen_gauss_filter (GaussFilter2, Sigma2, Sigma2, 0.0, 'none', 'rft', Width, Height)
*两图片相减(灰度)
sub_image (GaussFilter1, GaussFilter2, Filter, 1, 0)
*
*对图像进行迭代运算
NumImages := 11
for Index := 1 to NumImages by 1*将原图转化为灰度图read_image (Image, 'plastics/plastics_'+Index$'02')rgb1_to_gray (Image, Image)*对计算一幅图片实部进行快速傅里叶变换rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)*对图片用一个滤波器在频域进行卷积运算convol_fft (ImageFFT, Filter, ImageConvol)*对滤波后的图片进行傅里叶反变换rft_generic (ImageConvol, ImageFiltered, 'from_freq', 'n', 'real', Width)*用一个矩形掩膜计算像素点的灰度范围gray_range_rect (ImageFiltered, ImageResult, 10, 10)*判断区域内灰度值的最大和最小值min_max_gray (ImageResult, ImageResult, 0, Min, Max, Range)threshold (ImageResult, RegionDynThresh, max([5.55,Max*0.8]), 255)connection (RegionDynThresh, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 4, 99999)union1 (SelectedRegions, RegionUnion)closing_circle (RegionUnion, RegionClosing, 10)connection (RegionClosing, ConnectedRegions1)select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 10, 99999)area_center (SelectedRegions1, Area, Row, Column)*显示结果dev_display (Image)Number := |Area|if (Number)gen_circle_contour_xld (ContCircle, Row, Column, gen_tuple_const(Number, 30), gen_tuple_const(Number, 0), gen_tuple_const(Number, rad(360)), 'positive', 1)ResultMessage := ['Not OK', Number + ' defect(s) found']Color := ['red','black']dev_display (ContCircle)elseResultMessage := 'OK'Color := 'forest green'endifdisp_message (WindowHandle, ResultMessage, 'window', 12, 12, Color, 'true')if (Index#NumImages)disp_continue_message (WindowHandle, 'black', 'true')stop ()endif
endfor

参考

http://www.skcircle.com/?id=273

Halcon 塑料制品表面的缺陷检测相关推荐

  1. Halcon 《ML_MLP》网格缺陷检测

    create_class_mlp - Create a multilayer perceptron for classification or regression. 详细的解释可见<refer ...

  2. LCD表面单元缺陷检测

    对应示例程序: measure_lcd_cells.hdev 目标:测量LCD框架的宽度 以及缺陷 思路为:       1.读取图像       2.将图像进行R,G,B三通道图像分离,单独对R通道 ...

  3. Halcon缺陷检测系列

    Halcon缺陷检测系列Halcon缺陷检测系列Halcon缺陷检测系列 一 注塑吸嘴缺口检测 二 铣刀刀口破损缺陷检测 三 网状产品表面破损检测 四 手机摄像头图像表面的轻微缺陷检测 五 皮革纹理表 ...

  4. halcon视觉缺陷检测系列(1)常用的6种方法

    一.缺陷检测综述 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等.常用的手法有六大金刚(在halcon中的ocv和印刷检测是针对印刷 ...

  5. 傅里叶变换进行缺陷检测detect_indent_fft.hdev(源代码与详细解析)

    文章目录 简介 程序解析 处理结果预览 算法讲解 简介 detect_indent_fft.hdev是halcon的示例程序,是傅里叶变换进行缺陷检测的一个例子,主要是傅里叶变换在复杂背景下的缺陷检测 ...

  6. 机器视觉之缺陷检测的光源

    目录 机器视觉工业缺陷检测的那些事(一) 一.硬件选型 1.光源的选择 (1)光源可分为可见光和不可见光. (2)按照射方式不同可分为背向照明.前向照明.结构光和频闪光照明等. (3)按照照明方式可分 ...

  7. 机器视觉工业缺陷检测的那些事(一、光源)

    目录 机器视觉工业缺陷检测的那些事(一) 一.硬件选型 1.光源的选择 (1)光源可分为可见光和不可见光. (2)按照射方式不同可分为背向照明.前向照明.结构光和频闪光照明等. (3)按照照明方式可分 ...

  8. 【项目合作】瓷砖表面打印缺陷识别

    点击我爱计算机视觉标星,更快获取CVML新技术 工业生产中的产品缺陷检测是有广泛需求的,技术方案也往往需要高度定制,天池曾经上线过好几个不同的产品缺陷检测(布匹.白酒等). 52CV的一位粉丝身处传统 ...

  9. hough变换检测圆周_【视觉】视觉检测人应该了解的缺陷检测方法

    本文参考并摘引:李少波, 杨静, 王铮, 朱书德, 杨观赐. 缺陷检测技术的发展与应用研究综述. 自动化学报, 2020, 46(11): 2319−2336. doi: 10.16383/j.aas ...

最新文章

  1. 寻找MEET大会直播中奖的小伙伴,你有红包待领取~
  2. cmake CMakeLists.txt 命令 add_compile_options、add_definitions、target_compile_definitions、build_command
  3. 如何将usb摄像头连接到虚拟机vmware ubuntu系统上?
  4. research paper for management science
  5. python pychart三维_详解python模块pychartdir安装及导入问题
  6. 诗与远方:无题(五)
  7. edge如何导入html文件收藏夹,win10浏览器 edge浏览器收藏夹怎么导入?
  8. squid 反向代理
  9. 各类数据库问题描述模板
  10. 客户引导你,还是你引导客户?
  11. matlab 2ask原理,基于Matlab对2ASK调制解调及其仿真设计
  12. 乐优商城项目实战系列2
  13. 【javascript】ajax跨域post传值
  14. Python获取京东商城的商品分类,并将分类保存到csv
  15. SQLSERVER2005发送邮件
  16. 扒一扒那些叫欧拉的定理们(九)——群论观点下的欧拉公式初步
  17. 下列4组数据类型中 c语言允许的一组是,下列4组数据类型中,C语言允许的一组是...
  18. 你知道服务器硬盘接口类型有哪几种吗?
  19. PX4添加外置IMU传感器MPU-9250
  20. 麻省理工学院计算机硕士几年制,2020年麻省理工读研几年

热门文章

  1. 【开关】刀开关矩阵(Pole Switched Matrix)的结构讨论
  2. PHP版本对接支付宝支付接口 电脑网站 详细介绍 沙箱环境 超简单易懂
  3. 北京大学 计算机 排名2015年,北京大学计算机专业怎么样(最新北京大学计算机专业排名)...
  4. Word中已经取消了西文在单词中间换行,但是英文依然部分不连续
  5. 如何向公众号添加的邮箱链接(已解决)
  6. [原创] 网站联盟 账号通行证 一次登陆,畅通www
  7. 学习SSH远程登陆协议与TCP Wrappers
  8. Approximation
  9. antd upload手动上传_antd 手动上传文件
  10. 使用echarts简单制作中国地图