精华内容
下载资源
问答
  • 划痕检测论文

    2018-05-14 07:04:44
    一些划痕检测的论文供参考,总共有三篇论文,包括金属表面
  • Halcon 划痕检测

    2020-06-27 21:41:24
    Halcon 划痕检测

    上结果:
    在这里插入图片描述
    原图为:
    在这里插入图片描述
    上代码:

    *关闭活动图形窗口
    dev_close_window() 
    *在程序执行中指定输出行为为off。
    dev_update_window('off') 
    *step: acquire image步骤:获取图像 
    *****读入文件名为'surface_scratch'的图像到Image
    read_image(Image,'D:/HalconWorkplace/img/Scratches.png')
    get_image_size(Image,Width,Height)
    *打开一个和Image宽高比一致的图像窗口 
    dev_open_window_fit_image(Image,0,0,Width,Width,WindowID)
    *设置窗口字体大小为12,字体类型为Courier,粗体不倾斜字体。
    set_display_font(WindowID,12,'Courier','true','false')
    *设置填充模式为'margin'
    dev_set_draw('margin')
    *定义输出轮廓线宽为4
    dev_set_line_width(4)
    *显示Image到窗口
    dev_display(Image) 
    *WindowID窗口使用黑色字体在一个方框内显示按"F5"继续运行字体,并注F5消息处理
    disp_continue_message(WindowID,'black','true')
    stop() 
    * step: segment image步骤:图像分割
    *-> using a local threshold使用局部阈值
    *对Image进行7*7均值滤波 
    mean_image(Image,ImageMean,7,7)
    *得到的图像为: 
    *用均值滤波图像作为二值化阈值图像,返回小于灰度值小于该点阈值-5的图像。
    dyn_threshold(Image,ImageMean,DarkPixels,5,'dark')
    *得到的区域为: -> extract connected components
    *提取连通分量 
    *由分割出来的DarkPixels获得连通区域到ConnectedRegions
    *******得到的连通区域为: 
    ***************************************
    connection(DarkPixels,ConnectedRegions)
    *设置混合输出颜色为12dev_set_colored(12) 
    *显示当前图形窗口中的图像对象。
    dev_display(ConnectedRegions) 
    disp_continue_message(WindowID,'black','true')
    stop() 
    * step: process regions处理区域
    *-> select large regions选取大区域 
    *从ConnectedRegions中得到面积大于10小于1000的区域到SelectedRegion
    select_shape(ConnectedRegions,SelectedRegions,'area','and',10,1000) 
    *设置当期图像窗口的图像对象为Image
    dev_display(Image) 
    *设置当期图像窗口的图像对象为SelectedRegions
    dev_display(SelectedRegions) 
    disp_continue_message(WindowID,'black','true')
    stop() 
    *-> visualize fractioned scratch可视化划分划痕
    *打开窗口设置局部 
    *//open_zoom_window (0,round(Width/2),2,303,137,496,3,WindowHandleZoom)
    *设置输出颜色为蓝色
    dev_set_color('blue')
    dev_display(Image) 
    dev_display(SelectedRegions) 
    disp_continue_message(WindowID,'black','true')
    stop() 
    *-> merge fractioned scratches via morphology通过形态学合并划痕
    *合并SelectedRegions的并集到RegionUnion
    union1(SelectedRegions,RegionUnion) 
    *3.5作为圆形区域扩张的半径,对RegionUnion扩张得到RegionDilation
    dilation_circle(RegionUnion,RegionDilation,3.5) 
    dev_display(Image)
    dev_display(RegionDilation) 
    disp_continue_message(WindowID,'black','true')
    stop() 
    *由RegionDilation获取骨架给Skeleton
    skeleton(RegionDilation,Skeleton) 
    
    
    展开全文
  • halcon划痕检测

    2013-05-16 09:21:52
    halcon划痕检测,halcon 8.0版本
  • halcon表面划痕检测

    2018-05-04 10:33:02
    halcon表面划痕检测,修改别人的代码以后,针对不同图片请适当调整参数
  • 划痕检测matlab.rar

    2020-01-16 08:42:00
    解压后可直接运行, finish1、finish2、finish3分别为三种方法的可执行文件,直接运行即可得出结果。...由综合准确率得出结论,直接开运算的预处理方式效果较好,且此划痕检测方法有较大改进空间。
  • 为了提高图像划痕检测的质量,提出了自适应二叉树算法。采用图像投影确定划痕区域,掩膜操作对图像锐化;图像划痕邻域灰度通过聚类法划分,将结果作为二叉树节点的输入,图像像素值依次分解为8 级二叉树,二叉树指针...
  • 基于小波分析的唐卡图像划痕检测算法
  • 采用高、低角度光源组合打光方式提取感兴趣区域,构建划痕形态学的中值滤波核以获取准确的背景图像,...结果表明,利用该方法进行划痕检测的正确率达95.7%,算法处理时间少于1.21 s,达到了工程应用的精度和效率要求。
  • 《Halcon》表面划痕检测方法

    千次阅读 2019-11-15 15:02:34
    有什么办法能解决划痕检测的问题呢?下面就告诉您: 在工业生产中总是经常遇到裂痕、划痕和变色等产品的表面缺陷问题,而这些问题不管对于人工检测还是机器视觉检测都极富挑战。其难度在于该类缺陷形状不规则、...

           划痕、裂缝等产品缺陷用肉眼来查看可能因为太小导致检查不出来,导致产品出厂后有缺陷,从而影响到厂家的声誉及用户体验。有什么办法能解决划痕检测的问题呢?下面就告诉您:

           在工业生产中总是经常遇到裂痕、划痕和变色等产品的表面缺陷问题,而这些问题不管对于人工检测还是机器视觉检测都极富挑战。其难度在于该类缺陷形状不规则、深浅对比度低,而且往往会被产品表面的自然纹理或图案所干扰。因此,表面缺陷检测对于正确打光、相机分辨率、被检测部件与工业相机的相对位置、复杂的机器视觉算法等要求非常高。

           机器视觉划痕检测的基本分析过程分为两步:首先,确定检测产品表面是否有划痕,其次,在确定被分析图像上存在划痕之后,对划痕进行提取。

    表面划痕通常可分为三大类:

        第一类划痕,从外观上较易辨认,同时灰度变化跟周围区域对比也比较明显。可以选择较小的阈值精缺陷部分直接标记。

                              第一类划痕缺陷图像

     

        第二类划痕,部分灰度值变化并不明显,整幅图像灰度比较平均,划痕面积也比较小,只有几个像素点,灰度也只比周围图像稍低,很难分辨。可以对原图像进行均值滤波,得到较平滑的图像,并与原图像相减,当其差的绝对值大于阈值时就将其置为目标,并对所有的目标进行标记,计算其面积,将面积过小的目标去掉,剩下的就标记为划痕

          第三类划痕,各部分灰度差异较大,形状通常呈长条形,如果在一幅图像上采取固定阈值分割,则标记的缺陷部分会小于实际部分。由于这类图像的划痕狭长,单纯依靠灰度检测会将缺陷延伸部分漏掉。对于这类图像,根据其特点选择双阈值和缺陷形状特征相结合的方法。

    第三类划痕缺陷图像

     

        由于在工业检测中图像的多样性,对于每一种图像,都要经过分析综合考虑各种手段来进行处理达到效果。一般来说,划痕部分的灰度值和周围正常部分相比要暗,也就是划痕部分灰度值偏小;而且,大多都是在光滑表面,所以整幅图的灰度变化总体来说非常均匀,缺乏纹理特征。因此,划痕的检测一般使用基于统计的灰度特征或者阈值分割的方法将划痕部分标出。

     

        基于机器视觉的表面缺陷检测量系统,可安装在具有规则形状的金属产品生产流水线上,对生产线上的每个产品的表面缺陷及外形尺寸等进行在线检测,尤其对于有金属光泽的产品的表面质量检测效果更加突出。当检测到有缺陷的工件时,系统可根据实际需求发出相应的控制信号,即可直接将废品剔除,也可控制打标机构在缺陷品上喷涂标志。

     

    展开全文
  • 原图:halcon程序:read_image (Image, 'C:/Users/Administrator/Desktop/划痕+油污+瑕疵的检测/划痕、油污、瑕疵/表面划痕/Image.bmp')dev_close_window() get_image_size(Image, Width, Height) dev_open_window(0,...

    原图:

    098752f7c00fa6d82462394b19c5e25e.png

    halcon程序:

    read_image (Image, 'C:/Users/Administrator/Desktop/划痕+油污+瑕疵的检测/划痕、油污、瑕疵/表面划痕/Image.bmp')dev_close_window() get_image_size(Image, Width, Height) dev_open_window(0, 0, Width, Height, 'black', WindowHandle) set_display_font(WindowHandle, 16, 'mono', 'true', 'false') dev_set_line_width(2) dev_display(Image) disp_continue_message(WindowHandle, 'black', 'true') stop() invert_image(Image,ImageInvert1) mult_image(ImageInvert1, ImageInvert1, ImageResult,0.01, 0) * Generate a bandpass filter with sinusoidal shape.gen_sin_bandpass (ImageBandpass, 0.6, 'none', 'rft', Width, Height)rft_generic (ImageResult, ImageFFT, 'to_freq', 'none', 'complex', Width) convol_fft (ImageFFT, ImageBandpass, ImageConvol) rft_generic (ImageConvol, Lines, 'from_freq', 'n', 'byte', Width)*Filter an image using a Laws texture filter.texture_laws (Lines, ImageTexture, 'el',3, 5)mean_image(ImageTexture, ImageMean,5, 30)dyn_threshold(ImageTexture, ImageMean, RegionDynThresh, 20, 'light')connection(RegionDynThresh, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 44.08, 487)union1(SelectedRegions, RegionUnion)closing_circle(RegionUnion, RegionClosing, 6)skeleton(RegionClosing, Skeleton)dev_display(Image) dev_set_color('red') dev_display(Skeleton) stop()

    gen_sin_bandpass( : ImageFilter : Frequency, Norm, Mode, Width, Height : )

    产生一个正弦形状的带通滤波器

    正弦的最大值由Frequency决定,Frequency的值介于0和1之间。

    如果用fft_generic,参数Mode的dc_edge可以提升性能。

    如果滤波用fft_image和fft_image_inv,Norm值必须设为none,Mode必须设为dc_center。

    如果使用了rft_generic,Mode值必须设为rft。

    参数列表:

    第1个参数(out):以频域表示的带通滤波器

    第2个参数(in):从DC面上,滤波器的最大距离,限制条件:frequency >= 0

    第3个参数(in):滤波器的归一化因子

    第4个参数(in):频域中DC的位置

    第5个参数(in):图像(滤波器)的宽度

    第6个参数(in):图像(滤波器)的高度

    可替代项:

    gen_std_bandpass

    可能前置项:

    fft_image, fft_generic, rft_generic

    可能后置项:

    convol_fft

    dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )

    当前背景之间差异明显时,可以设定全局阈值进行threshold,但很多情况下由于背景不均一,目标体经常表现为比背景局部亮一些或暗一些,无法确定全局阈值操作,需要通过其邻域找到一个合适的阈值进行分割。ThresholdImage是参考图像,通过与OrigImage对比找到领域确定阈值,一般采用平滑滤波算子(如mean_image)获取参考图像。offset设定邻域比较的区间范围,灰度值变化在offset范围内均是可以接受的。令 g_{o} = g_{OrigImage}, g_{t} = g_{ThresholdImage}分别代表原图和参考图中的像素点的灰度值.我们的做法是把参考图像的灰度值加上(减去)一个Offset,然后去和原图的像素点逐像素对应地进行比较。下面看Halcon中给出的这些公式:

    The condition for LightDark = 'light' is:g_o>=g_t+offset ,light就提取相对参考图更亮的区域。

    For LightDark='dark' ,the conditon is:g_o<=g_t-offset ,dark就提取相对参考图更暗的区域

    For LightDark='equal',g_t-offset<=g_o<=g_t+offset,选取和参考图差不多的区域。

    skeleton(Region : Skeleton : : )

    拟合出该区域的骨架

    效果如下:

    be3fe766a5e28521cc44f908ce1a74e6.pngbe3fe766a5e28521cc44f908ce1a74e6.png

    来源:www.skcircle.com

    2252e22f5ab9cf662a7cd4d85e6182b1.gif End 2252e22f5ab9cf662a7cd4d85e6182b1.gif

    声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

    展开全文
  • 基于机器视觉的磁头飞机载划痕检测 磁头飞机载的外观划痕检测,这个在磁盘企业里应用比较多。一般需要检测磁头表面是否有划痕。属于外观检测的一种。比较难的一类项目。不过好的是,磁头飞机载都是平面的,照明比较...

    基于机器视觉的磁头飞机载划痕检测

    磁头飞机载的外观划痕检测,这个在磁盘企业里应用比较多。一般需要检测磁头表面是否有划痕。属于外观检测的一种。比较难的一类项目。不过好的是,磁头飞机载都是平面的,照明比较好处理

    无划痕的磁头飞机载(灰尘除外)

    工业光源

    对于这种产品,因为有划痕时,表面会表现出金属色,比较容易反光,所以照明比较好处理。可以考虑使用低角度的环形光源或者是同轴光源进行照明。相对来讲,低角度的环形光源的照明效果要好一些。建议使用如RL-9600-B等光源进行照明。

    可以考虑使用常规的模拟控制器APS-2424-1CH或者是迷你控制器MAPS-2424-1CH。如果是在高速拍照需要很短的曝光时间,则考虑使用频闪控制器,如SPS-2430-4CH。而如果需要程序控制不同的光源亮度以适用不同的产品,则可以考虑数字控制器,如DPS-24125-4CH

    工业相机

    因为涉及到外观划痕检测,所以建议使用分辨率高一些的相机。虽然产品本身并不是很大,所以分辨率高一些,对于划痕检测是有好处没坏处的。建议使用130万以上的CCD进行检测,如果成本允许,建议使用500万或1000像素CCD相机进行检测。

    工业镜头

    要想得到比较好的效果,建议考虑使用远心镜头,因为产品本身不是很大,所以使用远心镜头的倍率也不会太小,成本不会上升太多。但是成像品质会有比较好的改善。

    视觉算法

    可以考虑使用黄金模板匹配、粒子分析、纹理分析等算法进行处理。

    有划痕的磁头飞机载(低角度环形光源照明效果)

    有划痕的磁盘飞机载(同轴光源照明效果)

    项目难度

    ★★★★★

    难点在于图像处理上,特别是一些细小的、轻微的划痕的处理上。

    【转载】http://shixinhua.com/project/2016/12/1926.html

    展开全文
  • 复杂表面划痕检测

    2016-01-09 09:01:04
    基于Halcon的复杂表面的划痕处理的源代码程序
  • 划痕检测原图代码结果 原图 代码 dev_close_window () dev_set_line_width (5) dev_set_draw ('margin') dev_set_color ('red') read_image (Image, 'surface_scratch') get_image_size (Image, Width, Height) dev...
  • 圆环划痕检测halcon

    2020-11-12 10:33:57
    文章目录处理要求处理...read_image (Image, 'F:/HALCON/圆环划痕处理/10_33221_ba4582f0e88ec79.bmp') rgb3_to_gray (Image, Image, Image, ImageGray) dev_close_window () dev_open_window_fit_image (ImageGray, 0
  • Halcon表面缺陷检测-划痕检测

    千次阅读 2019-07-16 22:37:30
    目标:通过图像预处理和形态学处理提取划痕 思路为:       1.读取图像       2.自动阈值分割       3.连通域分割,...
  • Halcon 表面划痕检测

    千次阅读 2019-09-23 08:35:38
    Halcon表面划伤检测实例 图片:1.png  关闭活动图形窗口  dev_close_window () 在程序执行中指定输出行为为 off。  dev_...
  • Halcon:划痕检测

    2021-01-14 08:51:41
    select_shape (Errors, Scratches, ‘area’, ‘and’, 50, 10000) *筛选小划痕 select_shape (Errors, Dots, ‘area’, ‘and’, 1, 50) dev_display (Image) dev_set_color (‘red’) dev_display (Scratches) dev...
  • 项目一之零件划痕检测

    千次阅读 2019-02-19 19:21:12
    今天总结一下之前做过的一个项目,项目的主要目的是检测零件正面及侧面有无划痕凹槽之类的,如果有则向系统发出一个指令,从而丢弃这个零件。有损坏的零件如下图所示:        一、侧面检测  侧面检测...
  • 缺陷检测是机器视觉检测中难度最高的项目,但是如果跟客户充分沟通好缺陷检测的种类以及使用场合,缺陷检测的项目未必都是无法企及的。...采用动态阈值分割以及傅里叶变换的方法检测皮革划痕缺陷。 原
  • ),最近看了一篇论文《Weak scratch detection and defect classification methods for a largeaperture optical element》,光学元件的弱划痕检测一直是一个热门的问题,对于精细的光学元件任何一个细微的划痕都会...
  • halcon软件自带了关于金属表面划痕缺陷检测的例程find_scratches_bandpass_fft.hdev 先附上代码截图并作了初步注释,本篇博客将讲解一下该例程的过程各个算子的使用是为了啥 /*首先*/ 有趣的是,前面写了invert_...
  • 通过对涂层进行单脉冲激光加载时产生的冲击应力与温度场的理论分析,提出以二分法迅速逼近涂层失效的激光功率密度范围,单脉冲激光离散划痕路径的优化方法。对激光能量的稳定性进行标定,并得出电压与激光实际加载能量...
  • 基本思路:对图像进行滤波操作,然后将滤波后的图像与原始图像进行比对,可以得到划痕区域。 在图像中,划痕区域的频率一般都很高,因此使用图像滤波对其进行平滑处理,可以将高频信号平滑,与原始图像进行差异...
  • 瓷砖是最好的装修材料,可以铺设地面或内墙,于是平常不被重视的细小瓷砖划痕就会尽收眼底,因此有人抱怨,说是瓷砖的质量不好才导致划痕的出现,但事实上,瓷砖的划痕并不是瓷砖的质量问题,而且也是可以修复的。...
  • 该例程代码位于halcon范例的表面检测->surface_scratch.hdev,通过局部二值化和形态学后处理实现表面划痕提取。关健代码如下:(1)读取图像read_image (Image, 'surface_scratch')带划痕的图像Image(2)局部二值化...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 290
精华内容 116
关键字:

划痕检测