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

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

ID:39549072

大小:234.00 KB

页数:18页

时间:2019-07-06

halcon+vb检测光学玻璃元件实例_第1页
halcon+vb检测光学玻璃元件实例_第2页
halcon+vb检测光学玻璃元件实例_第3页
halcon+vb检测光学玻璃元件实例_第4页
halcon+vb检测光学玻璃元件实例_第5页
资源描述:

《halcon+vb检测光学玻璃元件实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、halcon+vb检测光学玻璃元件实例发布于:2013-08-2010:05自然光下的玻璃元件实图 环型光源下的玻璃元件图halcon代码open_framegrabber('DirectShow',1,1,0,0,0,0,'default',8,'gray',-1,'false','default','MicrovisionMV-1400UCDigitalCamera',0,-1,AcqHandle) *打开摄像头grab_image_start(AcqHandle,-1)*开始铺货图像grab_image_async(Image,AcqHandle,-

2、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,'derich

3、e2',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   select_contours_x

4、ld(SmoothedContours,SelectedContours1,'contour_length',4000,8000,-0.5,0.5)*选择长度在4000到8000像素之间的xld   select_contours_xld(Contours,SelectedContours2,'contour_length',10000,13000,-0.5,0.5)*选择长度在10000到13000之间的xld*选择后得到的xld图形就是最长的几段xld其余的全部过滤掉了   segment_contours_xld(SelectedContours2,

5、ContoursSplit,'lines_ellipses',0,2,2)*对方性xld进行分割分割主要是为了去除尖刺突出的xld*选取横向角度上的多边形而尖刺突出部分就被忽略了pi:=acos(0)*2 Eps:=pi*2/7select_contours_xld(ContoursSplit,SelectedContours3,'direction', pi/2+Eps,pi/2-Eps,-0.5,0.5)*选择横向角度的多边形select_contours_xld(SelectedContours3,SelectedContoursFinal,'len

6、gth',20,200000,-0.5,0.5)*选择横向角度的长度在20到200000的多边形觉得这一部多余 呵呵不过是多次测试参数后才发现多余 之后就懒得改了。union_collinear_contours_xld(SelectedContoursFinal,ContourTu,150,5,10,0.70,'attr_keep')*联合所有备选横向方向上的xld间距在150个像素一下的select_contours_xld(ContourTu,ContourTuFinal,'length',1500,200000,-0.5,0.5)*选择1500到2

7、00000像素之间的xld这个选择主要是选出拟合出来的玻璃元件上下边缘的直线sort_contours_xld(ContourTuFinal,ContourTuSort,'upper_left','true','row')*索引选择的xldfit_line_contour_xld(ContourTuSort,'tukey',-1,0,5,2,RowBegin2,ColBegin2,RowEnd2,ColEnd2,Nr2,Nc2,Dist2)*修正所选取的直线,说实话这句代码我写到后面发现也是多余的,被后面的代码重复执行了tuple_length(RowBe

8、gin2,Length)*这句代码貌似无作用length变量从来没

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。