跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量

  • Lead Measurement: Example for the application of the measure object

  • including a lot of visualization operators.

  • First, the length of the leads is measured, then, their width and distance from each other.

  • First, read in the image and initialize the program

read_image (Image, 'ic_pin')

*****************取得图像第一通道的指针,同时得到图像宽度高度*********

get_image_pointer1 (Image, Pointer, Type, Width, Height)

dev_close_window ()

dev_open_window_fit_image (Image, 0, 0, 509, 509, WindowHandle)

set_display_font (WindowHandle, 14, 'mono', 'true', 'false')

dev_display (Image)

****************显示图像如下:****************************************

dev_set_draw ('margin')

dev_set_line_width (3)

  • Define and display the rectangular ROIs within which the edges will be detected

Row := 55

RowBottom := 955

Column := 200

Phi := rad(-90)

Length1 := 50

Length2 := 35

dev_set_color ('gray')

gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2)

gen_rectangle2 (Rectangle, RowBottom, Column, Phi, Length1, Length2)

*************************测量位置如绿色矩形所示下:**************************

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

  • Create a measure object for the ROI at the top of the image.

******获取一阶灰度剖面图的插值方法,测量矩形框与图像坐标系之间有角度时生效******

Interpolation := 'nearest_neighbor'

****************************生成测量矩形框,先测上部****************************

gen_measure_rectangle2 (Row, Column, Phi, Length1, Length2, Width, Height, Interpolation, MeasureHandle)

  • Determine all edges and calculate the lead height at the top of the image

Sigma := 1.0

Threshold := 30

Transition := 'all'

Select := 'all'

**************************************进行测量********************************

measure_pos (Image, MeasureHandle, Sigma, Threshold, Transition, Select, RowEdge, ColumnEdge, Amplitude, Distance)

LeadLength1 := Distance

  • Display the results

dev_set_color ('white')

***********************************将测量结果画出*****************************

disp_line (WindowHandle, RowEdge, ColumnEdge-Length2, RowEdge, ColumnEdge+Length2)

disp_message (WindowHandle, 'Lead Length: '+LeadLength1$'.2f', 'window', RowEdge[1]+40, ColumnEdge[1]+100, 'yellow', 'false')

  • Shift the measure object and determine the lead height at the bottom of the image

************************转移测量框至新的参考坐标点,及测量下部******************

translate_measure (MeasureHandle, RowBottom, Column)

**************************************进行测量********************************

measure_pos (Image, MeasureHandle, Sigma, Threshold, Transition, Select, RowEdge, ColumnEdge, Amplitude, Distance)

LeadLength2 := Distance

  • Display the results

dev_set_color ('white')

***********************************将测量结果画出*****************************

disp_line (WindowHandle, RowEdge, ColumnEdge-Length2, RowEdge, ColumnEdge+Length2)

disp_message (WindowHandle, 'Lead Length: '+LeadLength2$'.2f', 'window', 360, ColumnEdge[1]+100, 'red', 'false')

  • Close the measure

close_measure (MeasureHandle)

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

  • Now, define and display a rectangular ROI perpendicular to the leads and create the measure

dev_display (Image)

Row := 47

Column := 485

Phi := 0

Length1 := 420

Length2 := 8

Interpolation := 'nearest_neighbor'

dev_set_color ('black')

*******************创建新的测量矩形ROI,如图蓝色矩形:*******************

gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2)

gen_measure_rectangle2 (Row, Column, Phi, Length1, Length2, Width, Height, Interpolation, MeasureHandle)

  • Determine all edge pairs that have a negative transition, i.e., edge pairs

  • that enclose dark regions.

Sigma := 1.0

Threshold := 30

Transition := 'negative'

Select := 'all'

******************************进行测量计算并显示结果*************************

measure_pairs (Image, MeasureHandle, Sigma, Threshold, Transition, Select, RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

dev_set_color ('white')

disp_line (WindowHandle, RowEdgeFirst, ColumnEdgeFirst, RowEdgeSecond, ColumnEdgeSecond)

avgLeadWidth := sum(IntraDistance)/|IntraDistance|

avgLeadDistance := sum(InterDistance)/|InterDistance|

numLeads := |IntraDistance|

disp_message (WindowHandle, 'Number of Leads: '+numLeads, 'window', 200, 100, 'yellow', 'false')

disp_message (WindowHandle, 'Average Lead Width: '+avgLeadWidth$'.2f', 'window', 260, 100, 'yellow', 'false')

disp_message (WindowHandle, 'Average Lead Distance: '+avgLeadDistance$'.2f', 'window', 320, 100, 'yellow', 'false')

disp_continue_message (WindowHandle, 'black', 'true')

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

  • Zoom in to visualize the measurement results in more detail.

  • First, define and display the zoom window.

Row1 := 0

Column1 := 600

Row2 := 100

Column2 := 700

dev_set_color ('blue')

**************************设置放大区域矩形并显示,图中绿色矩形*****************

disp_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

  • Then, zoom the image and display the results.

*********************设置图像放大区域并显示**********************************

dev_set_part (Row1, Column1, Row2, Column2)

dev_display (Image)

dev_set_color ('black')

**********************画出测量矩形ROI和测得的边缘如图*************************

dev_display (Rectangle)

p_disp_edge_marker (RowEdgeFirst, ColumnEdgeFirst, Phi, 5, 'white', 3, WindowHandle)

p_disp_edge_marker (RowEdgeSecond, ColumnEdgeSecond, Phi, 5, 'white', 3, WindowHandle)

  • Close the measure

close_measure (MeasureHandle)

  • Reset the display parameters.

dev_set_part (0, 0, Height-1, Width-1)

dev_set_draw ('fill')

dev_set_line_width(1)

跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量的更多相关文章

  1. 跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量 This example program demonstrates the basic usage of a measure object. ...

  2. 跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量 * This example program demonstrates the basic usage of a fuzz ...

  3. 跟我学机器视觉-HALCON学习例程中文详解-测量圆环脚宽间距

    跟我学机器视觉-HALCON学习例程中文详解-测量圆环脚宽间距 This example program demonstrates the basic usage of a circular meas ...

  4. 跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码

    跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码 第一步:插入QQ摄像头,安装好驱动(有的可能免驱动) 第二步:打开HDevelop,点击助手-打开新的Image Acquisitio ...

  5. 《TensorFlow学习指南深度学习系统构建详解》英文PDF+源代码+部分中文PDF

    主要介绍如何使用 TensorFlow 框架进行深度学习系统的构建.涉及卷积神经网络.循环神经网络等核心的技术,并介绍了用于图像数据和文本序列数据的模型.给出了分布式深度学习系统在TensorFlow ...

  6. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  7. Nginx中文详解、配置部署及高并发优化

      一.Nginx常用命令: 1. 启动 Nginx          /usr/local/nginx/sbin/nginxpoechant@ubuntu:sudo ./sbin/nginx2. 停 ...

  8. iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

    http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...

  9. [转]iOS学习之UINavigationController详解与使用(三)ToolBar

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...

随机推荐

  1. windows 使用excel导出的问题

    解决 window server2008  r2 没有注册Ofiice组件的方法   .NET下在用Microsoft.Office.Interop.Excel及word 操作Excel和Word时, ...

  2. AVFoundation 初识

    AVFoundation是苹果 OS X系统和 iOS系统中用于处理基于时间的媒体数据的高级Objective-C框架. iOS中 AVFoundation 在整个体系中所处的角色

  3. python使用mysqldb连接数据库操作方法示例详解

    这篇文章主要介绍了python mysqldb使用方法,大家参考使用 复制代码代码如下: # -*- coding: utf-8 -*- #mysqldb  # site www.jbxue.com ...

  4. hdu 4358 Boring counting 离散化+dfs序+莫队算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4358 题意:以1为根节点含有N(N <= 1e5)个结点的树,每个节点有一个权值(weight ...

  5. 2014年度辛星html教程夏季版第八节

    经过前面七节的学习,我感觉大家的HTML的功底也差不多了,而且我特别的删去了某些东西,比如框架,如果回到几年前,那么框架是非常流行的,但是现在都到了2014年了,这些东西早就该被遗忘了,因此,我果断的 ...

  6. 2014年度辛星html教程夏季版第六节

    不知道这样大家会不会感觉枯燥,总之不管大家怎么样,辛星始终会陪伴大家的,期待您的关注和支持,也衷心的希望我的博客能让您少走弯路,获得更系统的知识. ***************表格********* ...

  7. Spring3事务管理——使用@Transactional 注解(转)

    文章地址:http://my.oschina.net/guanzhenxing/blog/214228

  8. Ural1387 Vasya's Dad

    Description Vasya's dad is good in maths. Lately his favorite objects have been "beautiful" ...

  9. WP8教程

    http://www.maiziedu.com/courses-list?technology_category=6

  10. TYPE C PD测试板 UFP测试板