文档库 最新最全的文档下载
当前位置:文档库 › Halcon学习笔记之缺陷检测(二)

Halcon学习笔记之缺陷检测(二)

Halcon学习笔记之缺陷检测(二)
Halcon学习笔记之缺陷检测(二)

Halcon学习笔记之缺陷检测(二)例程:

说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步:

首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波);

然后,将原图和构造的滤波器进行快速傅里叶变换;

最后,利用形态学算子将缺陷表示在滤波后的图片上(在缺陷上画圈)。

注:代码中绿色部分为个人理解和注释,其余为例程中原有代码

*Initialization(初始化)

dev_updata_off() //这一句包含如下三个算子:

//dev_updata_pc(‘off’) 关闭更新程序计数器//dev_updata_var(‘off’) 关闭更新变量窗口

//dev_updata_window(‘off’) 关闭更新图像窗口(即通过命令来显示想要在图像窗口显示的图片)

dev_close_window() //关闭活动的图像窗口

read_image(Image,’plastics

/

plastics_01’) //载入图片//参数说明:为读入图片命名(Image)// 文件名(’plastics/plastics_01’)get_image_size(Image,Width,height) //获取图片的长宽;//参数说明:之前读入或生成的图片(Image)// 图片的宽(Width)// 图片的高(Height)

dev_open_window(0,0,Width,Height,’Black’,WindowHandle) //打开一个新的图像窗口//参数说明:起始坐标(0,0)// 大小(Width,Height)// 背景颜色(’Black’)// 窗口句柄(WindowHandle)

set_display_font (WindowHandle,14,’mono’,’ture’,’false’)//设置不依赖操作系统的字体

//参数说明:窗口句柄(WindowHandle)

// 字体大小(14)

// 字体类型(’mono’)

// 是否黑体(’ture’)

// 是否倾斜(’false’)

dev_set_draw(‘Margin’) //定义区域填充模式//参数说明:填充模式(’Margin’或者’Fill’)

dev_set_line_width(3)//设置输出区域轮廓线的线宽//可以修改参数来看最后缺陷区域标示的区别dev_set_color(’red’)//设置一种或者多种输出颜色

*

*Optimize the fft speed for the specific image size(根据指定图像大小进行fft速度最优化)

optimize_rft_speed(Width,Height,’standard’)//对指定大小的图片的fft速度进行优化//参数说明:图片大小(Width,Height)// 优化模式(’standard’)

*

*Construct a suitable filter by combining two Gaussian filters(结合两个高斯滤波器构造一*个合适的滤波器)Sigma1 :=

Sigma2 := //定义两个常量

gen_gauss_filter(GaussFilter1,Sigma1,Sigma1,,’none’,’rft’,Width,Height)

gen_gauss_filter(GaussFilter2,Sigma2,Sigma2,,’none’,’rft’,Width,Height) //在频域生成两个高斯滤波器//参数说明:生成的高斯滤波器(GaussFilter)// 空域中高斯在主方向上的标准差(Sigma)// 空域中高斯在正交于主方向的方向上的标准差(Sigma)// 滤波器主方向的角度()// 滤波器的规范(’none’)// 直流项在频域的位置(’rft’)// 图片的大小(Width,Height)

sub_image(GaussFilter1,GaussFilter2,Filter,1,0) //两图片相减(灰度)//sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )//g' := (g1 - g2) * Mult + Add//以上为函数原型以及运算公式

*

*Process the images iteratively(对图像进行迭代运算)

NumImages := 11

For Index := 1 to NumImages by 1 //for循环从1到NumImages,步长为1

*

*Read an image and convert it to gray values

read_i mage(Image,’plastics/plastics_’+Index$’02’)

rgb1_to_gray(Image,Image) //将原图转化为灰度图,第一个参数为原图

*Perform the convolution in the frequency domain

rft_generic(Image,ImageFFT,’to_freq’,’none’,’complex’,Width)//对计算一幅图片实部进行快速傅里叶变换//参数说明:输入的图片(Image)// 傅里叶变换后输出的图片(ImageFFT)// 变换方向(’to_freq’或’from_freq’)// 变换因子的规范(’none’)// 输出图片的数据类型(’complex’)// 图片的宽(Width)

convol_fft(ImageFFT,Filter,ImageConvol) //对图片用一个滤波器在频域进行卷积运算//参数说明:输入的图片(ImageFFT)// 频域滤波器(Filter)// 运算后输出的结果rft_generic(ImageConcol,ImageFiltered,’from_freq’,’n’,’real’,Width) //对滤波后的图片进行傅里叶反变换*

*Process the filtered image

gray_range_rect(ImageFiltered,ImageResult,10,10)//用一个矩形掩膜计算像素点的灰度范围//参数说明:输入的图片(ImageFiltered)// 输出的灰度范围图(ImageResult)// 矩形掩膜大小(10,10)

min_max_rect(ImageResult,ImageResult,0,Min,Max,Range)//判断区域内灰度值的最大和最小值//参数说明:待分析图片区域(ImageResult)// 图片(ImageResult)

// 被去除的直方图两边像素点所

// 占总像素数的百分比(0)

// 得到的最小值最大值及灰度值范围(Min,Max,Range)

threshold(ImageResult,RegionDynThresh,max([,Max*]),255)//利用全局阈值对图像进行分割//参数说明:输入的图片(ImageResult)// 分割后得到的区域(RegionDynThresh)// 阈值(max([,Max*]),255)

// 公式:MinGray <= g <= MaxGray

connection(RegionDynThresh,ConnectedRegions) //计算区域内的连通部分//参数说明:输入的图片(RegionDynThresh)// 得到的连通区域(ConnectedRegions)

select_shape (ConnectedRegions,SelectedR egions,’area’,’and’,4,99999)//根据指定的形态特征选择区域//参数说明:输入的图片(ConnectedRegions)

// 满足条件的区域(SelectedRegions)

// 将要计算的形态特征(’area’)

// 独立特征间的连接关系(’and’)

// 特征的最小限制(4)

// 特征的最大限制(99999)

union1(SelectedRegions,RegionUnion) //返回包含所有区域的集合//参数说明:包含所有区域的待计算区域的图片(tedRegions)// 所有输入区域合(RegionUnion)

closeing_circle(RegionUnion,RegionClosing,10)//用一个圆圈来封闭一个区域//参数说明:将要被封闭的区域(RegionUnion)// 被封闭的区域(RegionClosing)// 圆圈的半径(10)connection(RegionClosing,ConnectedRegions1)

select_shape(ConnectedRegions1,SelectedRegions1,’area’,’and’,10,99999)

area_center(SelectedRegions1,Area,Row,Column) //计算区域的面积以及中心位置//参数说明:待计算的区域(SelectedRegions1)// 区域的面积(Area)// 区域中心的行(Row)// 区域中心的列(Column)

*

*Display the results

dev_display(Image) //显示原图Number := |Area| //将区域面积赋给Number用于后面检查是否存在缺陷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)//构造一个与设定的圆弧或圆相一致的边界//参数说明:生成的边界(ContCircle)// 圆弧或圆的中心坐标(Row,Cloumn)// 圆弧或圆的半径(gen_tuple_const(Number,30))// 圆弧或圆的起始角度(gen_tuple_const(Number,0))// 圆弧或圆的结束角度(gen_tuple_const(Number,rad(360)))// 不明白是什么意思// 相邻两点间的距离(1)

ResultMessage := [‘Not OK’,Number + ‘defect(s) found’]

Color := [‘red’,’black’]

dev_display(ContCircle) else

ResultMessage := ‘OK’

Color := ‘forest green’

endif

disp_message(WindowHandle,ResultMessage,’window’,12,12,Color,’ture’)

if(Index#NumImages)

disp_continue_message(WindowHandle,’black’,’ture’)

stop()

endif

endfor

算法讲解:在实际的表面缺陷检测系统中,针对的检测表面很多是具有一定纹理的比如:布匹、皮革、塑料等,针对这一类表面的检测就不能单纯依靠帧差或者背景差来完成,因为背景的纹理不可能和当前图像的纹理完全相同。因此,本例程的算法通过将图像变换到频域进行处理,提取缺陷分量后反变换到时域,获得缺陷的具体位置。

高斯滤波器:在本算法中,在一开始就构造了两个高斯滤波器,高斯滤波器是一种线性平滑滤波器,适用于消除高斯噪声。滤波器的实质是对信号进行滤波,滤除不需要的部分,得到想要的部分。一个低通的滤波器可以滤除高频信号,对于图像来说,噪声和边缘往往集中在高频分量,因此低通能够降噪,但是也能造成图像的模糊。

本文关键:本文的关键就是使用两个低通滤波器,进行相减后构造了一个带阻滤波器来提取缺陷分量。这就需要保证在实际的待检测表面中缺陷所处的频率范围要和背景以及噪声有明显的差异,并且带阻的频率选择要合适。通过带阻滤波后获得的频率成分对背景中的纹理要有明显的抑制,并且突出缺陷成分,进行傅里叶反变换后重构的图像就是缺陷图像,经过简单的分割就能很容易得到缺陷了。

皮革检测 皮革检验 成分分析

皮革检测皮革检验成分分析 皮革是经脱毛和鞣制等物理、化学加工所得到的已经变性不易腐烂的动物皮。革是由天然蛋白质纤维在三维空间紧密编织构成的,其表面有一种特殊的粒面层,具有自然的粒纹和光泽,手感舒适。 专业名词术语 生皮:没有经过鞣制的皮的统称。 牛皮:牛皮的统称,目前以菜牛为主。 公牛皮:已成年的公牛皮。 母牛皮:已成年或生过小牛的母牛皮,而乳牛也属其中,乳牛皮适用于衣饰皮及手套皮。 中母牛皮:这种牛是未满三年的母牛,且未生过小牛。 中牛皮:这种皮之大小乃介于大牛于小牛之问,不分公母牛均可称呼。 小牛皮:通常是指出生未满一年的牛皮,不分性别的通称。 小羊皮:是小的山羊皮,通常大小在二到五平方公尺,而大山羊皮是五平方尺以上而毛孔粗大羊的通称,绵羊皮,是相当柔软的皮,通常用在衣饰较多。 水牛皮:大部分为热带地区所产,而皮革纹路大而粗糙,较适合做家具类皮,而小水牛则用在高级鞋类。再配合上植物丹宁处理,是近年来非常流行的品种,如打蜡皮。 坯革:未经过表面处理的皮。这种皮是经过水场处理后成为制鞋类及皮饰的材料,如绒面皮及反毛皮,这种皮经过细砂磨过,表现有好的手感,就如同绒布表面是主要用在注重温暖感鞋类的重要材料。如登山鞋,而猪皮的绒面皮几乎可使用在各种鞋类,女鞋及运动鞋占一半,绒面皮在衣饰上是相当重要的材料,科标检测提供专业的皮革检测,从人类有文字记载以来,就是生活中的一部分。 油皮:有些健行鞋或船上用鞋,经常使用油感甚重的皮料,这种皮料以指甲或手撑开,颜色就变浅或变深些,但以手抚平后又回复正常,而这种带有些粘腻油感的皮料就叫油皮。 打蜡皮:植鞣或半植鞣后经过抛光产生变色烧焦效果的皮革,称之打蜡皮。这种皮料风行很久,至今不衰。 擦色皮:是以表面涂饰方法,将皮革表面喷成较深的颜色,但底色用浅色,经过布轮磨擦后,即可产生美丽的双色效果。打光皮:用传统的皮革处理方式,用酪蛋白做表面涂饰,然后机器以玻璃滚筒,重复的磨光皮面,以产生优雅的透明光泽,这类皮料叫做打光皮,目前在高级的小牛皮、小羊皮、蛇皮上仍然沿用此种方式处理的皮料,适用于高级鞋,这种皮

皮革分级及验收标准管理规定

皮革分级及验收标准管理规定 1.0 目的: 明确皮革检验规格、检验方法。确保皮革质量。 2.0 范围: 适用于公司皮革的检查验收。 3.0 定义: 对皮革产品原材料检验分级别拟定标准。 4.0 职责: 4.1 品质部IQC按此标准进行皮料检验及分级 4.2 皮具项目组、品质部负责本文件的制定,修改、废止之起草工作 4.3.总经理负责本标准制定、修改、废止之批准 5.0皮料伤残定义 5.1 严皮胚的伤残:如颈皱、伤疤、血管腺、菌伤、癣癞、鞭花、鞍伤、虹眼虻底、虱疔、划伤、痘疤、凸包、干裂、烙印等 5.2 加工过程中的伤残:如剥伤、孔洞、折裂、沙眼、夹油伤钩捆伤、烫伤。 5.3 制革过程中的伤痕:如片伤、仲展伤、打光伤、熨伤、推平和订板伤、滚压伤刺划伤、磨伤、铲软皮伤、去肉伤等机械伤、跳刀印。还有由于化学控制不好或微生物侵蚀所造成的浸水伤和酶鞣伤 5.4 松面:皮革的粒面层松弛现象,将面向内弯折90°时,粒面呈现皱纹。将皮革放平后消失,但仍有明显的皱纹痕迹者,感官验法:在1cm距离内有六个或六个以下的即为松面,六个以上不作为松面。 5.5 管皱:指粒面层与网状层中间纤维松弛的现象,呈现在皮革的粒面上有粗大的皱纹者。感官检验法:将皮革粒面向内弯折90°时,出现粗纹者,如在弯折时出现的皱纹不大,当放平后仍能消失者,不做为管鼓。 5.6 裂面:皮革经弯折或折叠强压,粒面层出现裂纹的现象叫裂面。 5.7 龟纹:制革生产时操作部当造成的缺陷,在制革不松的情况下,呈现粗大的皱纹,虽经整理,仍不能消失叫龟纹,

5.8 折纹:皮革面的折痕,虽经滚压或推平,而成革用手仍能摸出不平的皱纹叫折纹。 5.9 两层:原皮在加工再加工保管或制革生产过程,由于皮的中层发生腐烂而形成两层现象 5.10 生心:鞣制时,鞣剂渗透不够所造成的缺陷,表现革的切口断面色泽不匀,中间断渐淡,严重者中层呈一条胶体状 5.11 僵硬:纤维没有分离好或鞣制不良,致革身扁平板硬,在搓揉时感觉很死板,呈木板状。 5.12 脱色:面革以干的细布在革面上任一部位顺方向擦5次,有严重脱色现象即为脱色 5.13 裂浆:面革将面革面向外四重折叠,用手指紧压后,涂饰层发生裂缝者叫裂浆。 5.14 水花:修饰面革在水染或熨皮过程中出现叫下的斑点,水洗不当出现水印者 5.15 涂层脱落:修饰面革涂层以专用的胶布粘着后,能随拉下来的胶布脱落者。 5.16 涂层发粘:修饰面革有粘着感的。 5.17 色差:同一张皮的不同部位有明显颜色差异。 5.18 色花:除苯胺效应外,同一张革面颜色深浅有明显差别的,革上常有的如盐斑、油花、毛根不净和刷色或喷涂饰剂不均所造成的缺陷。 5.19 粗面:革在加工过程中,由于膨胀不够或涂饰不好,造成革面各部位明显粗超的叫粗面。 6.0 缺陷种类 6.1 线型缺陷:按线的长短来测量的缺陷,如裂纹、划伤、刀伤。 6.2 面型缺陷:可按面积大小来测量的缺陷,如龟纹、伤疤、茵伤、孔洞和聚集的虹眼、痘疤、裂痕、严重的血管腺、烙印等 6.3 聚集型缺陷:多种缺陷彼此相距不超过7cm所形成较大面积的缺陷,如分散的虻眼或虱疔和两种以上的缺陷邻聚在一起的。 7.0 缺陷面积的测量和计算 7.1 线型缺陷面积:按缺陷长度乘2cm计算,如果线型曲折不便按此计算时则按包括此线型的最小矩形面积的计算 7.2 面型的缺陷面积:缺陷的宽度在2cm以上时,应以包括此缺陷的实际面积计算

Halcon表面划伤检测实例

Halcon表面划伤检测实例 *关闭活动图形窗口 dev_close_window () * 在程序执行中指定输出行为为off。 dev_update_window ('off') * **** * step: acquire image 步骤:获取图像 * ****读入文件名为'surface_scratch' 的图像到Image read_image (Image, 'surface_scratch') 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') *************************************** ****得到的区域为:

基于HALCON的模板匹配方法总结.

基于HALCON的模板匹配方法总结 基于HALCON的模板匹配方法总结 HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果。在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。 1. Shape-Based matching的基本流程 HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。基本流程是这样的,如下所示: ⑴ 首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用 area_center()找到这个矩形的中心;

⑵ 然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等; ⑶ 接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。对特别大的模板,用Optimization来减少模板点的数量是很有用的;MinConstrast将模板从图像的噪声中分离出来,如果灰度值的波动范围是10,则MinConstrast应当设为10;Metric参数决定模板识别的条件,如果设为’use_polarity’,则图像中的物体和模板必须有相同的对比度;创建好模板后,这时还需要监视模板,用inspect_shape_model()来完成,它检查参数的适用性,还能帮助找到合适的参数;另外,还需要获得这个模板的轮廓,用于后面的匹配,get_shape_model_contours()则会很容易的帮我们找到模板的轮廓; ⑷ 创建好模板后,就可以打开另一幅图像,来进行模板匹配了。这个过程也就是在新图像中寻找与模板匹配的图像部分,这部分的工作就由函数 find_shape_model()来承担了,它也拥有许多的参数,这些参数都影响着寻找模板的速度和精度。这个的功能就是在一幅图中找出最佳匹配的模板,返回一个模板实例的长、宽和旋转角度。其中参数SubPixel决定是否精确到亚像素级,设为’interpolation’,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’least_square’,’lease_square_high’,但这样会增加额外的时间,因此,这需要在时间和精度上作个折中,需要和实际联系起来。比较重要的两个参数是MinSocre和Greediness,前一个用来分析模板的旋转对称和它们之间的相似度,值越大,则越相似,后一个是搜索贪婪度,这个值在很大程度上影响着搜索速度,若为0,则为启发式搜索,很耗时,若为1,则为不安全搜索,但最快。在大多数情况下,在能够匹配的情况下,尽可能的增大其值。 ⑸ 找到之后,还需要对其进行转化,使之能够显示,这两个函数 vector_angle_to_rigid()和affine_trans_contour_xld()在这里就起这个作用。前一个是从一个点和角度计算一个刚体仿射变换,这个函数从匹配函数的

皮革检验规范(真皮类)

一.目的 明确喜临门公司进料真皮的检验项目及验收标准,以保障进料真皮能够符合公司使用及满足国家标准要求。 二.范围 适用于喜临门家具股份有限公司(包含分公司)的所有真皮皮革的质量判定 三.职责与权限 1.采购管理中心:负责将本标准纳入皮革采购合同,要求供应商供货的皮革能够满足此标准 2.品质中心:负责真皮检验标准的制定、修定及验收判定 四.真皮示意图(牛皮) 根据国际皮革行业公布的《标准牛皮体形部位图》,如下;

标准整张牛皮:A+B+C+D+E+F+G 整张牛皮中各部位大致面积(或重量)比例为:按整张牛皮的总重量或总面积计,牛皮的皮心部 约占45%-55%;颈肩部(包括头部)约占20%-25%;腹部约占20%-25%。 五. 抽样标准 1. 外观抽样:每批分散抽检,按4包(含以下)抽检1包比例进行,每包抽检10张皮 2. 理化性能检测:每批进料随机抽取3张皮裁剪送试验室进行检测 六. 检验判定标准 1.真皮分级(国标):喜临门要求进料皮革外观能够满足二级标准 2. 真皮出裁率标准: 3. 检验条件及方法(外观) 3.1 检验亮度:600-800 Lx ,40W 双日光灯。 3.2 检验视角:如条件许可,检验者目视方向应与光源方向成45°,有多面的部件,每一侧 都要当作一个单独的平面来检验。如下图所视: 3.3 检验方法及工具:目视/光源箱 4.外观检验项目及判定标准

4.2皮身平整、柔软、丰满有弹性 4.3 颜色: 与封样或色卡对比,在自然光源或d65光源箱测试不允许有明显 色差,参照以下进行判定。*与封样件比较≥4级;;

3. 尺寸: 4.1.厚度:规格尺寸±0.1mm 4.2.板数:皮幅38SF

halcon学习笔记——实例篇 长度和角度测量+

halcon学习笔记——实例篇长度和角度测量实例二:长度和角度测量 素材图片: halcon代码: 1: *读取并截取图片 2: dev_close_window() 3: read_image (Image, 'D:/MyFile/halcon/长度和角度测量/图.png') 4: crop_rectangle1 (Image, ImagePart, 75, 0, 400, 400) 5: get_image_size (ImagePart, Width, Height) 6: dev_open_window (0, 0, Width, Height, 'black', WindowHandle) 7: dev_display (ImagePart) 8: 9: *获取图形的边界 10: threshold (ImagePart, Regions, 0, 112) 11: 12: *分离三角形和圆形

13: connection(Regions,ConnectedRegions) 14: sort_region(ConnectedRegions,SortedRegions,'upper_left','true','column') 15: select_obj(SortedRegions,Circle,1) 16: select_obj(SortedRegions,Triangle,2) 17: 18: *获取三角形各边的信息 19: skeleton(Triangle,TriangleSkeleton) 20: gen_contours_skeleton_xld(TriangleSkeleton,TriangleContours,1,'filter') 21: segment_contours_xld(TriangleContours,ContoursSplit,'lines_circles', 5, 4, 2) 22:select_contours_xld(ContoursSplit,SelectedContours, 'contour_length',100, 999, -0.5, 0.5) 23: fit_line_contour_xld (SelectedContours, 'tukey', -1, 10, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist) 24: 25: *计算三角形角度 26:angle_ll (RowBegin[0], ColBegin[0], RowEnd[0], ColEnd[0], RowBegin[1], ColBegin[1], RowEnd[1], ColEnd[1], Angle1) 27:angle_ll (RowBegin[0], ColBegin[0], RowEnd[0], ColEnd[0], RowBegin[2], ColBegin[2], RowEnd[2], ColEnd[2], Angle2) 28:angle_ll (RowBegin[1], ColBegin[1], RowEnd[1], ColEnd[1], RowBegin[2], ColBegin[2], RowEnd[2], ColEnd[2], Angle3) 29: Angle1:=abs(deg(Angle1)) 30: Angle2:=abs(deg(Angle2)) 31: Angle3:=abs(deg(Angle3)) 32: 33: *获取圆的信息 34: area_center(Circle,AreaCircle, RowCircle, ColumnCircle) 35: 36: *计算圆心到三角形各边的距离 37: Distance := [] 38:for Index := 0 to 2 by 1 39:distance_pl (RowCircle, ColumnCircle, RowBegin[Index], ColBegin[Index], RowEnd[Index], ColEnd[Index], ThisDistance) 40: Distance := [Distance,ThisDistance] 41: endfor

基于HALCON的机器视觉系统的研究与实现

基于HALCON的机器视觉系统的研究与实现 近年来,机器视觉系统以其高效率、高可靠、低成本的特点在国外取得了广泛的应用。机器视觉系统适用于众多领域,例如工业自动化、医药业、制造业、农业等,弥补了人类视觉的很多不足。本文采用德国MVTec公司的专业机器视觉软件HALCON来开发机器视觉系统,提出了相关机器视觉实现方法,并且在机器视觉实验平台上完成了一个弹簧片检测任务。 目前关注较多的是机器视觉系统的硬件部分,而机器视觉软件部分关注较少,一个先进的机器视觉系统除了具有高性能的硬件外,还需要有高性能的软件,虽然说许多常见的开发软件例如Mircosoft的Visual Studio、NI的LabWindows\CVI等等都可以开发机器视觉系统,但是开发周期比较长,针对性较弱,程序的复杂程度较高。而采用HALCON作为机器视觉和图像处理核心软件,不仅大大缩短了开发周期,降低了开发难度,而且可以参考HALCON提供的众多机器视觉和图像处理例程来针对具体的任务做具体开发。 文章的第一章研究了机器视觉系统的组成、应用现状和发展,并且对机器视觉软件HALCON做了概述。第二章根据相关要求,选择合适的硬件单元,设计和搭建了VS-ZM1200机器视觉实验平台。第三章研究了机器视觉中常用的一些图像处理技术,重点讨论了在弹簧片检测任务中所采用的图像处理技术和算法,如图像的增强,分割,边缘检测等。第四章研究了机器视觉软件,重点研究了HALCON,并且对在Visual C++开发环境下如何使用HALCON编写的程序做了讨论。第五章介绍了在VS-ZM1200机器视觉实验平台上,使用HALCON和Visual C++开发的一套弹簧片检测系统,该系统完成关于弹簧片的尺寸参数测量和外观参数判别的任务。

数字图像处理角点检测方法研究毕业论文

数字图像角点特征检测方法研究

目录 引言 (3) 1 研究背景与发展 (6) 1.1研究背景 (6) 1.2研究现状和发展概述 (6) 1.3应用软件M ATLAB (7) 2 角点检测概念与原理 (9) 2.1角点的定义 (9) 2.2角点概念及特征 (9) 2.3角点检测意义 (9) 2.4角点检测原理 (10) 2.5角点检测技术的基本方法 (10) 2.5.1 基于模板的角点检测 (10) 2.5.2 基于边缘的角点检测 (11) 2.5.3 基于灰度变化的角点检测 (13) 3 角点算法概述 (14) 3.1角点检测的标准 (14) 3.2H ARRIS角点检测算子 (14) 3.2.1 Harris角点检测算子流程图 (19) 3.2.2 Harris角点检测算子的特点 (20) 3.2.3 Harris角点检测性质 (20) 3.2.4 Harris和Moravec算子角点检测实验结果 (21) 3.3一种改进的H ARRIS的算法 (23) 3.3.1试验结果 (24) 3.4S USAN角点检测算子 (25) 3.3.1 SUSAN角点检测一般步骤 (27) 3.3.2 Susan角点检测算子特点 (29) 3.3.3 Susan角点检测试验结果 (29) 4 其他算子简介 (33) 4.1小波变换算子 (33) 4.2F ORSTNER算子 (33) 4.3CSS角点检测算法 (35) 4.4ACSS角点检测算法 (36) 4.5各种角点检测算法的比较 (36) 结论 (39) 致谢 (41)

参考文献 (42) 附录1 HARRIS算法程序 (44) 附录2 MORA VEC算法程序 (46) 附录3 改进的HARRIS算法 (48) 附录4 SUSAN算法程序 (50)

Harris角点检测算法编程步骤及示例演示

Harris角点检测算法编程步骤及示例演示 也不说那么多废话了,要介绍啥背景意义之类的,角点检测,顾名思义,就是检测角点,最简单的就是两条线的交点了,还有比如下国际象棋的棋盘格子的交点之类的,反正就是检测这些点。 简单将Harris角点检测算法的思想说下,就是拿一个小窗在图像中移动,通过考察这个小窗口内图像灰度的平均变换值来确定角点。(1)如果窗口内区域图像的灰度值恒定,那么所有不同方向的偏移几乎不发生变化; (2)如果窗口跨越一条边,那么沿着这条边的偏移几乎不发生变化,但是与边垂直的偏移会发生很大的变化; (3)如果窗口包含一个孤立的点或者角点,那么所有不同方向的偏移会发生很大的变化。 下面给出具体数学推导: 设图像窗口平移量为(u,v),产生的灰度变化为E(u,v), 有E(u,v)=sum[w(x,y)[I(x+u,y+v)-I(x,y)]^2],其中w(x,y)为窗口函数, I(x+u,y+v)为平移后的灰度值,I(x,y)为平移前的灰度值。 有泰勒公式展开可得: I(x+u,y+v)=I(x,y)+Ix*u+Iy*v+O(u^2,v^2); Ix,Iy分别为偏微分,在图像中为图像的方向导数. 因此E(u,v)=sum[w(x,y) [Ix*u+Iy*v+O(u^2,v^2)]^2], 可以近似得到E(u,v)=sum[w(x,y) [Ix*u+Iy*v]^2],即 E(u,v)=[u,v][Ix^2,Ix*Iy;Ix*Iy,Iy^2][u,v]T

令M=[Ix^2,Ix*Iy;Ix*Iy,Iy^2],因此最后对角点的检测成了对矩阵M的特征值的分析了,令M其特征值为x1,x2; 当x1>>x2或者x2>>x1,则检测到的是边缘部分; 当x1,x2都很小,图像窗口在所有移动的方向上移动灰度级都无明显变化. 当X1,X2都很大时且相当,检测到的是角点。 编程时用x1,x2不方便,因此定义角点响应函数; R=det(M)-k(trace(M))^2; 其中det(M)为矩阵M的行列式,trace(M)为矩阵M的迹。 下面给出更具数学公式实际编程的步骤: 1.利用水平,竖直差分算子对图像的每个像素进行滤波以求得 Ix,Iy,进而求得M中的四个元素的值。 M=[Ix^2,Ix*Iy;Ix*Iy,Iy^2] 2.对M的四个元素进行高斯平滑滤波,为的是消除一些不必要 的孤立点和凸起,得到新的矩阵M。 3.接下来利用M计算对应每个像素的角点响应函数R,即: R=det(M)-k(trace(M))^2; 也可以使用改进的R: R=[Ix^2*Iy^2-(Ix*Iy)^2]/(Ix^2+Iy^2);里面没有随意给定的参数k,取值应当比第一个令人满意。 4.在矩阵R中,同时满足R(i,j)大于一定阈值threshold和R(i,j)

皮革质量检验标准方法

皮革质量检验标准方法目录检索: GB204002006皮革和毛皮有害物质限量 QB/T27282005皮革物理和机械试验 QB/T27032005汽车装饰用皮革 QB/T28562007毛革服装 QB/T27162005皮革化学试验样品的准备 QB/T25362007毛革 QB/T27042005手套用皮革 QB/T27122005皮革物理和机械试验粒面强度和伸展高度的测定 SN/T1045.2进出口染色纺织品和皮革制品中禁用偶氨染料的检验方法气相色谱/质谱法 QB/T27202005皮革化学试验氧化铬的测定 QB/T27212005皮革化学试验水溶物、水溶无机物和水溶有机物的测定 QB/T27242005皮革化学试验PH的测定 QB/T27092005皮革化学物理和机械试验厚度的测定 QB/T27082005皮革取样批样的取样数量 QB/T27072005皮革物理和机械试验试样的准备和调节 QB/T27132005皮革物理和机械试验收缩温度的测定 QB/T27142005皮革物理和机械试验耐折牢度的测定 QB/T27152005皮革物理和机械试验视密度的测定 QB/T27192005皮革化学试验硫酸盐总灰分和硫酸盐水溶物灰分的测定QB/T27262005皮革物理和机械试验耐磨性能的测定 QB/T27272005皮革色牢度试验耐光色牢度 QB/T27252005皮革气味的测定 QB/T27172005皮革化学试验挥发物的测定 QB/T27182005皮革化学试验二氯甲烷萃取物的测定 QB/T27292005皮革物理和机械试验水皮燃烧性能的测定 GB/T199412005皮革和毛皮化学试验甲醛含量的测定

基于halcon的车牌的图像识别_整理

基于halcon的车牌的图像识别 其实车牌图像识别从技术上已经比较成熟,从理论上来说无外乎就是如下几个步骤:灰度化:实际就是对原始车牌图片进行预处理,把彩色图片转化为黑白图片,然后对不符合指定阙值范围的灰度值进行过滤。 车牌定位:这是技术难点之一,根据我的经验,定位车牌位置对于车牌的准确识别而言实际上就成功了60%。很多车牌识别的产品都对车牌的定位预留了很多配置参数,例如截取原始图片的位置参数、车牌的长宽比例、大小等等,这些都是为了提高车牌定位的准确率。 字符分割:车牌定位后是字符分割,本人使用的识别过程是:对定位的车牌位置进行降噪处理=>边界模糊=>从右向左找出前6个封闭的图形=>剩余的封闭图形综合为一个图形进行汉字的识别。 字符识别:就是根据字符模板进行模板匹配,因此需预先建立相应的字符模板。基于图像进行字符识别也可配置很多参数来大大提高字符的识别率。例如限定车牌头的字符,车牌各位字符的识别优先级等等。 以下通过大车黄牌号码为例,看看车牌识别的效果。 1、原始图片如下图所示: 2、限定车牌识别区域,本例中将裁剪掉上下左右各10%的区域: get_image_pointer1 (FullImage, Pointer, Type, Width, Height) gen_rectangle1 (Rectangle, Height*0.1, Width*0.1, Height*0.9, Width*0.9) reduce_domain (FullImage, Rectangle, Image) 看看裁剪结果:

3、把选中的区域灰度化,方便后续处理: decompose3 (Image, Red, Green, Blue) trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv') 灰度化后的效果图: 4、灰度阙值过滤,本例中只选中灰度值在100至255之间的区域,可根据实际情况进行相应的设置,然后进行降噪处理:

皮革分级及检验标准

皮革分级及检验标准 1.0目的: 明确皮革检验规格、检验方法。确保皮革质量。 2.0范围: 适用于公司皮革的检查验收。 3.0定义: 对皮革产品原材料检验分级别拟定标准。 4.0职责: 4.1品质部IQC按此标准进行皮料检验及分级。 4.2皮具项目组、品质部负责本文件的制定,修改、废止之起草工作。 4.3.总经理负责本标准制定、修改、废止之批准 5.0皮料伤残定义 5.1严皮胚的伤残:如颈皱、伤疤、血管腺、菌伤、癣癞、鞭花、鞍伤、虻 眼、虻底、虱疔、划伤、痘疤、凸包、干裂、烙印等。 5.2加工过程中的伤残:如剥伤、孔洞、折裂、沙眼、夹油伤钩捆伤、烫伤。 5.3制革过程中的伤痕:如片伤、伸展伤、打光伤、熨伤、推平和订板伤、 滚压伤、刺划伤、磨伤、铲软皮伤、去肉伤等机械伤、跳刀印。还有由于化学控制不好或微生物侵蚀所造成的浸水伤和酶鞣伤。

5.4松面:皮革的粒面层松弛现象,将面向内弯折90°时,粒面呈现皱纹。 将皮革放平后消失,但仍有明显的皱纹痕迹者,感官验法:在1cm距离内有六个或六个以下的即为松面,六个以上不作为松面。 5.5管皱:指粒面层与网状层中间纤维松弛的现象,呈现在皮革的粒面上有 粗大的皱纹者。感官检验法:将皮革粒面向内弯折90°时,出现粗纹者,如在弯折时出现的皱纹不大,当放平后仍能消失者,不做为管鼓。 5.6裂面:皮革经弯折或折叠强压,粒面层出现裂纹的现象叫裂面。 5.7龟纹:制革生产时操作部当造成的缺陷,在制革不松的情况下,呈现粗 大的皱纹,虽经整理,仍不能消失叫龟纹, 5.8折纹:皮革面的折痕,虽经滚压或推平,而成革用手仍能摸出不平的皱 纹叫折纹。 5.9两层:原皮在加工再加工保管或制革生产过程,由于皮的中层发生腐烂 而形成两层现象。 5.10生心:鞣制时,鞣剂渗透不够所造成的缺陷,表现革的切口断面色泽不匀,中间断渐淡,严重者中层呈一条胶体状。 5.11僵硬:纤维没有分离好或鞣制不良,致革身扁平板硬,在搓揉时感觉很死板,呈木板状。 5.12脱色:面革以干的细布在革面上任一部位顺方向擦5次,有严重脱色现象即为脱色。 5.13裂浆:面革将面革面向外四重折叠,用手指紧压后,涂饰层发生裂缝

基于HALCON的双目立体视觉系统实现

基于HALCON的双目立体视觉系统实现 段德山(大恒图像公司) 摘要双目立体视觉的研究一直是机器视觉中的热点和难点。使用双目立体视觉系统可以确定任意物体的三维轮廓,并且可以得到轮廓上任意点的三维坐标。因此双目立体视觉系统可以应用在多个领域。本文将主要介绍如何基于HALCON实现双目立体视觉系统,以及立体视觉的基本理论、方法和相关技术,为搭建双目立体视觉系统和提高算法效率提供了参考。 关键词双目视觉三维重建立体匹配摄像机标定视差 双目立体视觉是机器视觉的一种重要形式,它是基于视差原理并由多幅图像获取物体三维几何信息的方法。双目立体视觉系统一般由双摄像机从不同角度同时获得被测物的两幅数字图像,或由单摄像机在不同时刻从不同角度获得被测物的两幅数字图像,并基于视差原理恢复出物体的三维几何信息,重建物体三维轮廓及位置。双目立体视觉系统在机器视觉领域有着广泛的应用前景。 HALCON是在世界范围内广泛使用的机器视觉软件。它拥有满足您各类机器视觉应用需求的完善的开发库。HALCON也包含Blob分析、形态学、模式识别、测量、三维摄像机定标、双目立体视觉等杰出的高级算法。HALCON支持Linux和Windows,并且可以通过C、C++、C#、Visual Basic和Delphi语言访问。另外HALCON与硬件无关,支持大多数图像采集卡及带有DirectShow和IEEE 1394驱动的采集设备,用户可以利用其开放式结构快速开发图像处理和机器视觉应用软件。 一.双目立体视觉相关基本理论介绍

1.1 双目立体视觉原理 双目立体视觉三维测量是基于视差原理,图1所示为简单的平视双目立体成像原理图,两摄像机的投影中心的连线的距离,即基线距为b。摄像机坐标系的原点在摄像机镜头的光心处,坐标系如图1所示。事实上摄像机的成像平面在镜头的光心后,图1中将左右成像平面绘制在镜头的光心前f处,这个虚拟的图像平面坐标系O1uv的u轴和v轴与和摄像机坐标系的x轴和y轴方向一致,这样可以简化计算过程。左右图像坐标系的原点在摄像机光轴与平面的交点O1和O2。空间中某点P在左图像和右图像中相应的坐标分别为P1(u1,v1)和P2(u2,v2)。假定两摄像机的图像在同一个平面上,则点P图像坐标的Y坐标相同,即v1=v2。由三角几何关系得到: 上式中(xc,yc,zc)为点P在左摄像机坐标系中的坐标,b为基线距,f为两个摄像机的焦距,(u1,v1)和(u2,v2)分别为点P在左图像和右图像中的坐标。 视差定义为某一点在两幅图像中相应点的位置差:

halcon+vb检测光学玻璃元件实例

halcon+vb检测光学玻璃元件实例发布于:2013-08-20 10:05 自然光下的玻璃元件实图 环型光源下的玻璃元件图 halcon 代码

open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'gray', -1, 'false', 'def ault', 'Microvision MV-1400UC Digital Camera', 0, -1, AcqHandle) *打开摄像头 grab_image_start (AcqHandle, -1) *开始铺货图像 grab_image_async (Image, AcqHandle, -1) *捕获第一帧图像 get_image_size (Image, Width, Height) *获得图像大小 dev_open_window (0, 0, Width/6, Height/6, 'black', WindowHandle) *打开适合大小的窗口,应为相机是1400万像素所以图想太大窗口被我缩小了。 while (true) *无限循环 try grab_image_async (Image, AcqHandle, -1) *捕获一帧图像 dev_display (Image) *显示图像 smooth_image(Image, ImageSmooth, 'deriche2', 0.5) *平滑图像 threshold (ImageSmooth, Regions,125, 255) *阈值处理 *这个表面有些灰尘呵呵不过可以当噪点过滤掉的 area_center (Regions, Area1, Row3, Column3) *获得区域中心点 gen_contour_region_xld(Regions, Contours, 'border_holes') *将阈值处理后获得的区域转换成xld smooth_contours_xld(Contours, SmoothedContours, 5) *平滑xld

基于HALCON的模板匹配方法总结

基于HALCON的模板匹配方法总结 分类:halcon学习2013-06-26 16:02 47人阅读评论(0) 收藏举报 halcon形状匹配算法 德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如VC++来开发的过程。在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。 1. Shape-Based matching的基本流程 HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。基本流程是这样的,如下所示: ⑴首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心; ⑵然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等; ⑶接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。对特别大的模板,用Optimization来减少模板点的数量是很有用的;MinConstrast将模板从图像的噪声中分离出来,如果灰度值的波动范围是10,则MinConstrast应当设为10;Metric参数决定模板识别的条件,如果设为’use_polarity’,则图像中的物体和模板必须有相同的对比度;创建好模板后,这时还需要监视模板,用inspect_shape_model()来完成,它检查参数的适用性,还能帮助找到合适的参数;另外,还需要获得这个模板的轮廓,用于后面的匹配,get_shape_model_contours()则会很容易的帮我们找到模板的轮廓; ⑷创建好模板后,就可以打开另一幅图像,来进行模板匹配了。这个过程也就是在新图像中寻找与模板匹配的图像部分,这部分的工作就由函数find_shape_model()来承担了,它也拥有许多的参数,这些参数都影响着寻找模板的速度和精度。这个的功能就是在一幅图中找出最佳匹配的模板,返回一个模板实例的长、宽和旋转角度。其中参数SubPixel决定是否精确到亚像素级,设为’interpolation’,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’least_square’,’lease_square_high’,但这样会增加额外的时间,因此,这需要在时间和精度上作个折中,需要和实际联系起来。比较重要的两个参数是MinSocre和Greediness,前一个用来分析模板的旋转对称和它们之间的相似度,值越大,则越相似,后一个是搜索贪婪度,这个值在很大程度上影响着搜索速度,若为0,则为启发式搜索,很耗时,若为1,则为不安全搜索,但最快。在大多数情况下,在能够匹配的情况下,尽可能的

皮料检验标准

目的: 明确皮革检验规格、检验方法。确保皮革质量。 范围: 适用于公司皮革的检查验收。 定义: 对皮革产品原材料检验分级别拟定标准。 职责: 品质部IQC按此标准进行皮料检验及分级。 皮具项目组、品质部负责本文件的制定,修改、废止之起草工作。 .总经理负责本标准制定、修改、废止之批准 皮料伤残定义 严皮胚的伤残:如颈皱、伤疤、血管腺、菌伤、癣癞、鞭花、鞍伤、虻眼、虻底、虱疔、划伤、痘疤、凸包、干裂、烙印等。 加工过程中的伤残:如剥伤、孔洞、折裂、沙眼、夹油伤钩捆伤、烫伤。 制革过程中的伤痕:如片伤、伸展伤、打光伤、熨伤、推平和订板伤、滚压伤、刺划伤、磨伤、铲软皮伤、去肉伤等机械伤、跳刀印。还有由于化学控制不好或微生物侵蚀所造成的浸水伤和酶鞣伤。 松面:皮革的粒面层松弛现象,将面向内弯折90°时,粒面呈现皱纹。将皮革放平后消失,但仍有明显的皱纹痕迹者,感官验法:在1cm距离内有六个或六个以下的即为松面,六个以上不作为松面。 管皱:指粒面层与网状层中间纤维松弛的现象,呈现在皮革的粒面上有粗大的皱纹者。感官检验法:将皮革粒面向内弯折90°时,出现粗纹者,如在弯折时出现的皱纹不大,当放平后仍能消失者,不做为管鼓。

裂面:皮革经弯折或折叠强压,粒面层出现裂纹的现象叫裂面。 龟纹:制革生产时操作部当造成的缺陷,在制革不松的情况下,呈现粗大的皱纹,虽经整理,仍不能消失叫龟纹, 折纹:皮革面的折痕,虽经滚压或推平,而成革用手仍能摸出不平的皱纹叫折纹。 两层:原皮在加工再加工保管或制革生产过程,由于皮的中层发生腐烂而形成两层现象。 生心:鞣制时,鞣剂渗透不够所造成的缺陷,表现革的切口断面色泽不匀,中间断渐淡,严重者中层呈一条胶体状。 僵硬:纤维没有分离好或鞣制不良,致革身扁平板硬,在搓揉时感觉很死板,呈木板状。 脱色:面革以干的细布在革面上任一部位顺方向擦5次,有严重脱色现象即为脱色。 裂浆:面革将面革面向外四重折叠,用手指紧压后,涂饰层发生裂缝者叫裂浆。 水花:修饰面革在水染或熨皮过程中出现凹下的斑点,水洗不当出现水印者。 涂层脱落:修饰面革涂层以专用的胶布粘着后,能随拉下来的胶布脱落者。涂层发粘:修饰面革有粘着感的。 色差:同一张皮的不同部位有明显颜色差异。 色花:除苯胺效应外,同一张革面颜色深浅有明显差别的,革上常有的如盐斑、油花、毛根不净和刷色或喷涂饰剂不均所造成的缺陷。 粗面:革在加工过程中,由于膨胀不够或涂饰不好,造成革面各部位明显

角点检测方法总结

角点检测(Corner Detection) 角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域中。也称为特征点检测。角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。而实际应用中,大多数所谓的角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。现有的角点检测算法并不是都十分的鲁棒。很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现。 角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力,并且能够应对光照变化、图像旋转等图像变化。角点检测的方法有:Moravec角点检测算法,FAST角点检测算法,Harris角点检测法和shi_tomas角点检测法等。 1.1.1Moravec角点检测算法 Moravec角点检测算法Moravec角点检测算法是最早的角点检测算法之一。该算法将角点定义为具有低“自相关性”的点。算法会检测图像的每一个像素,将像素周边的一个邻域作为一个patch,并检测这个patch和周围其他patch的相关性。这种相关性通过两个patch间的平方差之和(SSD)来衡量,SSD值越小则相似性越高。如果像素位于平滑图像区域内,周围的patch都会非常相似。如果像素在边缘上,则周围的patch在与边缘正交的方向上会有很大差异,在与边缘平行的方向上则较为相似。而如果像素是各个方向上都有变化的特征点,则周围所有的patch都不会很相似。Moravec会计算每个像素patch和周围patch的SSD 最小值作为强度值,取局部强度最大的点作为特征点。Moravec角点检测算法有几个很明显的缺陷:1,强度值的计算并不是各向同性的,只有离散的8个45 度角方向被考虑。因为patch的评议比较最多只有8个方向;2,由于窗口是方形并且二元的,因此相应函数会有噪声;3,对边缘的相应太简单,因为强度值尽取SSD的最小值;

相关文档