ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

halcon简易标定代码

2022-07-01 16:31:38  阅读:162  来源: 互联网

标签:area Area 标定 halcon 简易 SelectedRegions RegionOpening 13.5 ConnectedRegions


read_image (Image, 'C:/Users/HJ/Desktop/demo1/4.bmp')
threshold(Image, Region, 110, 255)
closing_circle(Region, RegionClosing, 13.5)
fill_up(RegionClosing, RegionFillUp)
connection(RegionFillUp, ConnectedRegions)
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 15000, 9999999)
opening_circle(SelectedRegions, RegionOpening, 13.5)
orientation_region(RegionOpening, Phi)
area_center(RegionOpening, Area, Row, Column)
area_center(RegionOpening, Area, Row, Column)
if ((1.57<Phi and Phi<3.142) or (-3.142<Phi and Phi<-1.57))
    vector_angle_to_rigid(Row, Column, Phi, Row, Column, 3.14, HomMat2D)
else
    vector_angle_to_rigid(Row, Column, Phi, Row, Column, 0, HomMat2D)
endif
affine_trans_image(Image, ImageAffineTrans, HomMat2D, 'constant', 'false')
gen_rectangle2(Rectangle, Row, Column, 0, 1250, 550)
affine_trans_region(RegionOpening, RegionOpening, HomMat2D, 'nearest_neighbor')
* orientation_region (RegionOpening, PhiRef)
* PhiRef := rad(180)+PhiRef
area_center (RegionOpening, Area2, RowRef, ColumnRef)
*根据一张标准图片获得RowRef, ColumnRef


* Image Acquisition 02: Code generated by Image Acquisition 02
list_files ('C:/Users/HJ/Desktop/demo1', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)
Width := 2500
Height := 1100
for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image2, ImageFiles[Index])
    * Image Acquisition 02: Do something
    threshold(Image2, Region_Each, 110, 255)
    closing_circle(Region_Each, RegionClosing_Each, 13.5)
    fill_up(RegionClosing_Each, RegionFillUp_Each)
    connection(RegionFillUp_Each, ConnectedRegions_Each)
    select_shape(ConnectedRegions_Each, SelectedRegions_Each, 'area', 'and', 15000, 9999999)
    orientation_region(SelectedRegions_Each, Phi_Each)
    area_center(SelectedRegions_Each, Area_Each, Row_Each, Column_Each)
    if ((1.57<Phi_Each and Phi_Each<3.142) or (-3.142<Phi_Each and Phi_Each<-1.57))
        vector_angle_to_rigid(Row_Each, Column_Each, Phi_Each, RowRef, ColumnRef, 3.14, HomMat2D1)
    else
        vector_angle_to_rigid(Row_Each, Column_Each, Phi_Each, RowRef, ColumnRef, 0, HomMat2D1)
    endif
    
    affine_trans_image(Image2, ImageAffineTrans_Each, HomMat2D1, 'constant', 'false')
    threshold(ImageAffineTrans_Each, Region_Out, 110, 255)
    closing_circle(Region_Out, RegionClosing_Out, 13.5)
    fill_up(RegionClosing_Out, RegionFillUp_Out)
    connection(RegionFillUp_Out, ConnectedRegions_Out)
    select_shape(ConnectedRegions_Out, SelectedRegions_Outs, 'area', 'and', 15000, 9999999)
    area_center(SelectedRegions_Outs, Area_Out, Row_Out, Column_Out)
    crop_part(ImageAffineTrans_Each, ImagePart, Row_Out-Height/2, Column_Out-Width/2, Width, Height)
endfor

 

标签:area,Area,标定,halcon,简易,SelectedRegions,RegionOpening,13.5,ConnectedRegions
来源: https://www.cnblogs.com/mr2504/p/16435092.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有