可测算子_三维拉普拉斯算子

可测算子_三维拉普拉斯算子gen_measure_rectangle2:提取与圆弧垂直中心轴线的直线边沿,设定ROI


😊😊😊欢迎来到本博客😊😊😊

🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。

😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–>搜索你要查询的算子名称;或者点击Halcon算子汇总博客,即可食用。

🎁🎁🎁支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!😙😙😙


学习目标

  • gen_measure_rectangle2()

学习内容

算子简介

函数名 解释
gen_measure_rectangle2() 提取与矩形垂直中心轴线的直线边沿,设定ROI

1、gen_measure_rectangle2()

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

  函数说明: 提取与圆弧垂直中心轴线的直线边沿,设定ROI。环形弧表示具有相关宽度的圆弧。 圆弧的中心在CenterRow和CenterCol,其半径为Radius,起始角度为AngleStart,AngleExtent是相对于起始角度的角度范围。 如果AngleExtent> 0,则产生逆时针方向的弧,否则产生顺时针方向的弧。 环形弧的半径,即宽度的一半由AnnulusRadius确定。

  函数参数:
    Row:输入矩形中心y坐标值;
    Col:输入矩形中心x坐标值;
    Phi:输入句柄长轴针对水平方向的角度;
    Length1:输入长轴半径,范围:-3.14159≤AngleStart≤3.14159 ;
    Length2:输入短轴半径,Length2 ≤ Length1;
    Width:输入待测图像的宽度;
    Height:输入待测图像的高度;
    Interpolation:提取边沿的最近点作为参考像素,默认:“nearest_neighbor”,参考:“nearest_neighbor最近点”,‘bicubic双线性’, ‘bilinear双三次’;
    MeasureHandle:输出尺寸物体的句柄;

Halcon例程

world_coordinates_line_scan.hdev  使用相机校准,测量线扫描图像中卡尺的间距线之间的距离
two_camera_calibration.hdev     使用特殊的校准对象执行高精度拼接
pm_measure_board.hdev      定位电路板上的IC并测量引脚距离
measure_tft_cells.hdev       测量TFT LCD显示器的RGB单元的尺寸
measure_switch.hdev        确定开关的宽度和引脚之间的距离
measure_ring.hdev         用圆形measure对象确定齿轮的宽度
measure_pin.hdev         测量IC的引脚
measure_lcd_cells.hdev       测量分隔LCD显示器单元的框架的尺寸
measure_ic_leads.hdev       测量IC的引线
measure_caliper.hdev        测量卡尺的间距线之间的距离
measure_arc.hdev         测量金属部件沿着圆弧的的宽度
gen_measure_rectangle2.hdev   测量垂直于给定线的边缘
gen_measure_arc.hdev       测量垂直于给定弧的边
fuzzy_measure_switch.hdev     用一个模糊度量对象确定一个开关引脚的宽度和距离
fuzzy_measure_pin.hdev       使用模糊测量来测量IC的引脚
fuse.hdev            测量保险丝的厚度
correct_measure_direction.hdev   自动更正测量对象的方向
camera_calibration_multi_image.hdev 校准相机并测量卡尺上的位置
camera_calibration_external.hdev   使用相机校准来测量卡尺上的位置
calibration_aimdpm_1_2006.hdev   在检查2D数据代码的打印质量之前应用反射率校准
calibrate_cameras_telecentric_tilt.hdev 使用远心倾斜镜头(Scheimpflug)校准
align_measurements_multithreading.hdev 使用多线程并行检查剃刀刀片
align_measurements.hdev     使用基于形状的匹配来检查单个剃刀刀片,以为测量工具调整ROI
3d_coordinates.hdev         测量世界坐标中的倾斜物体

小试牛刀

  案例:

fuzzy_measure_pin.hdev   使用模糊测量来测量IC的引脚
* Example for the application of the fuzzy measure tool
* including a lot of visualization operators
* 
dev_close_window ()//关闭窗口
read_image (Image, 'board/board-06')//读图像
get_image_size (Image, Width, Height)//获取图像大小
dev_open_window (0, 0, Width*2, Height*2, 'black', WindowHandle)//打开一个新窗口
* 
* --- Fuzzy Measure://模糊测量
Row1 := 305.5 //矩形中心y坐标
Col1 := 375.5 //矩形中心x坐标
Phi1 := 0.982 //角度
Length1 := 167 //长度1(半长)
Length2 := 8 //长度2(半长)

//*垂直于矩形的直线边缘的提取
gen_measure_rectangle2 (Row1, Col1, Phi1, Length1, Length2, Width, Height, 'nearest_neighbor', MeasureHandle1)

Row2 := 188.5 //矩形中心y坐标
Col2 := 202.5 //矩形中心x坐标
Phi2 := Phi1 - rad(180) //角度

//*确定矩形框,设定ROI边界
gen_measure_rectangle2 (Row2, Col2, Phi2, Length1, Length2, Width, Height, 'nearest_neighbor', MeasureHandle2)
//* Create a fuzzy member function to select edge pairs of size of the chip pins (about 11 Pixels)
create_funct_1d_pairs ([0.0,0.3], [1.0,0.0], FuzzyAbsSizeDiffFunction) //从(X,Y)集合中创建一个函数
//为边缘匹配指定一个规定范化模糊元函数
set_fuzzy_measure_norm_pair (MeasureHandle1, 11.0, 'size_abs_diff', FuzzyAbsSizeDiffFunction)
//为边缘匹配指定一个规定范化模糊元函数
set_fuzzy_measure_norm_pair (MeasureHandle2, 11.0, 'size_abs_diff', FuzzyAbsSizeDiffFunction)
//提取与矩形或环状垂直的直线边缘
fuzzy_measure_pairs (Image, MeasureHandle1, 1, 30, 0.5, 'positive', RowEdgeFirst1, ColumnEdgeFirst1, AmplitudeFirst1, RowEdgeSecond1, ColumnEdgeSecond1, AmplitudeSecond1, RowEdgeMiddle1, ColumnEdgeMiddle1, FuzzyScore1, IntraDistance1, InterDistance1)
fuzzy_measure_pairs (Image, MeasureHandle2, 1, 30, 0.5, 'positive', RowEdgeFirst2, ColumnEdgeFirst2, AmplitudeFirst2, RowEdgeSecond2, ColumnEdgeSecond2, AmplitudeSecond2, RowEdgeMiddle2, ColumnEdgeMiddle2, FuzzyScore2, IntraDistance2, InterDistance2)
* 
* --- Visualization:
dev_display (Image)//显示函数
* Measuring area
dev_display_measure_object (Row1, Col1, Phi1, Length1, Length2)//显示尺寸物体
dev_display_measure_object (Row2, Col2, Phi2, Length1, Length2)//显示尺寸物体
* Edge pairs
dev_set_draw ('fill')//设置填充给方式
Pin := 1
//显示轮廓点
dev_display_profile_points ([RowEdgeFirst1,RowEdgeSecond1], [ColumnEdgeFirst1,ColumnEdgeSecond1], Row1, Col1, Phi1, Length1, Length2)
for I := 0 to |ColumnEdgeFirst1| - 1 by 1
	//显示提示信息
    disp_message (WindowHandle, 'size:' + IntraDistance1[I]$'.2f' + ' score:' + FuzzyScore1[I]$'.2f', 'image', RowEdgeSecond1[I], ColumnEdgeSecond1[I] + 10, 'yellow', 'false')
    MRow := RowEdgeSecond1[I] - 5
    MCol := ColumnEdgeSecond1[I] - 20
    dev_set_color ('white')//设置显示颜色
    gen_circle (Circle, MRow, MCol, 10)
    dev_display (Circle)
    get_string_extents (WindowHandle, Pin, Ascent, Descent, SWidth, SHeight)
    disp_message (WindowHandle, Pin, 'window', MRow - SHeight / 2, MCol - SWidth / 2, 'black', 'false')
    Pin := Pin + 1
endfor
dev_display_profile_points ([RowEdgeFirst2,RowEdgeSecond2], [ColumnEdgeFirst2,ColumnEdgeSecond2], Row2, Col2, Phi2, Length1, Length2)
for I := 0 to |ColumnEdgeFirst2| - 1 by 1
    dev_set_color ('yellow')
    disp_message (WindowHandle, 'size:' + IntraDistance2[I]$'.2f' + ' score:' + FuzzyScore2[I]$'.2f', 'image', RowEdgeFirst2[I], ColumnEdgeFirst2[I] + 10, 'yellow', 'false')
    MRow := RowEdgeFirst2[I] - 5
    MCol := ColumnEdgeFirst2[I] - 20
    dev_set_color ('white')
    gen_circle (Circle, MRow, MCol, 10)
    dev_display (Circle)
    get_string_extents (WindowHandle, Pin, Ascent, Descent, SWidth, SHeight)
    disp_message (WindowHandle, Pin, 'window', MRow - SHeight / 2, MCol - SWidth / 2, 'black', 'false')
    Pin := Pin + 1
endfor
stop ()
close_measure (MeasureHandle1)
close_measure (MeasureHandle2)

在这里插入图片描述


【1D测量 Measuring部分】 待更新算子

  • close_measure()
  • close_all_measure()
  • fuzzy_meature_pairing()
  • fuzzy_meature_pairs()
  • gen_meature_arc()
  • gen_meature_rectangle2()
  • meature_pairs()
  • meature_pos()
  • meature_projection()
  • set_fuzzy_meature()
  • set_fuzzy_meature_norm_pair()
  • translate_measure()

汇总

  本专栏博客汇总:Halcon算子汇总


🚶🚶🚶今天的文章就到这里啦~
喜欢的话,点赞👍、收藏⭐️、关注💟哦 ~

今天的文章可测算子_三维拉普拉斯算子分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85029.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注