收藏 分销(赏)

跟我学机器视觉example.doc

上传人:精**** 文档编号:2461946 上传时间:2024-05-30 格式:DOC 页数:13 大小:70.50KB 下载积分:8 金币
下载 相关 举报
跟我学机器视觉example.doc_第1页
第1页 / 共13页
跟我学机器视觉example.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
HALCON学习例程中文-IC引脚测量 路径-------C:\ProgramFiles\MVTec\HALCON-10.0\examples\hdevelop\Applications\Measuring-2D\measure_pin.hdev · 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, 'icpin') ****取得图像第一通道的指针,同时得到图像宽度高度** Get_image_pointer1 (Image, Pointer, Type, Width, Height) *get_image_pointer1 ( Image : : : Pointer, Type, Width, Height ) ;获得图像的数据。如:类型(= ' 字节',' ' ',uint2 int2 等等) 和图像的尺寸( 的宽度和高度) Dev_close_window () 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) ****显示图像如下:************ · Define and display the rectangular ROIs within which the edges will be detected //ROI设置 Dev_set_draw ('margin') Dev_se_tline_width (3) Row := 55 RowBottom := 955 Column := 200 Phi := rad(-90) Length1 := 50 Length2 := 35 devsetcolor ('gray') gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2) gen_rectangle2 (Rectangle, RowBottom, Column, Phi, Length1, Length2) 创建ROI的矩形显示区域 *******测量位置如绿色矩形所示下:******** 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 devsetcolor ('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 devsetcolor ('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' devsetcolor ('black') *****创建新的测量矩形ROI,如图蓝色矩形:***** gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2) 创建ROI矩形 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) 提取测量与矩形或环状弧垂直的直线边缘。 dispcontinuemessage (WindowHandle, 'black', 'true') stop () devsetcolor ('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') 信息显示 dispcontinuemessage (WindowHandle, 'black', 'true') dispcontinuemessage (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 devsetcolor ('blue') *******设置放大区域矩形并显示,图中绿色矩形**** disp_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2) 显示和坐标轴对齐的矩形。 dispcontinuemessage (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) pdispedge_marker (RowEdgeFirst, ColumnEdgeFirst, Phi, 5, 'white', 3, WindowHandle) pdispedge_marker (RowEdgeSecond, ColumnEdgeSecond, Phi, 5, 'white', 3, WindowHandle) · Close the measure close_measure (MeasureHandle) · Reset the display parameters. devsetpart (0, 0, Height-1, Width-1) devsetdraw ('fill') devsetline_width(1) Copyright ©2014 志强智达
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服