Halcon的一些算子

1.求区域重心      输入区域 输出面积,重心行列坐标

area_center (ModelRegion, Area, RowRef, ColumnRef)

2.抠图               输入图像 输入区域 输出图像

reduce_domain (Image, ModelRegion, ImageReduced)

3.彩色转灰度  rgb1_to_gray 
4.拆通道         decompose3 

5.RGB转HSV  trans_from_rgb1

6.对象变量操作:

                        gen_empty_obj:产生空对象
                        count_obj:计数
                         select_obj:访问某一个
                        concat_obj:追加
                        remove_obj :移除
                        copy_obj:拷贝
                        insert_obj:插入
                        clear_obj:清除

7. 填充区域中的孔洞  fill_up

8.人机交互

dev_open_window   打开子窗体
create_drawing_object_rectangle1 创建矩形探测器
set_drawing_object_params 设置参数
attach_drawing_object_to_window  绑定探测器在窗口
attach_background_to_window  绑定图像在窗口
get_drawing_object_iconic  获得区域
detach_drawing_object_from_window  取消绑定探测器
detach_background_from_window  取消绑定图像

9.喷涂轮廓
gen_contour_polygon_rounded_xld  生成多边形轮廓
gen_image_const 创建具有恒定灰度值的图像
paint_xld   喷图构造模板图像

10.滤波
mean_image 均值滤波
median_rect 中值滤波
gauss_filter 高斯滤波
gauss_distribution 生成高斯分布

常用的一些算子

dev_update_off ()//取消更新
dev_get_window (WindowHandle)//获得窗口的句柄
set_display_font  //设置字体
threshold //二值化
gen_rectangle1 //手动AOI
shape_trans //区域形状转换
reduce_domain //抠图
add_channels  //抠图(可以输入多区域)
full_domain //恢复抠图
opening_circle //区域开运算
erosion_circle //区域腐蚀
dliation_circle //区域膨胀
connection //连通域断开
select_shape //区域的特征选择
sort_region //排序
smallest_circle //求区域最小外接圆
disp_message //显示文本

scale_image //灰度线性变换-缩放变换
log_image //对数变换
exp_image  //指数变换
binary_threshold  //二值化-大津阈值 平滑直方图 适用于黑白明显
union1 //区域联合
rgb1_to_gray  //彩色转灰度
decompose3 //拆通道
trans_from_rgb1 //RGB转HSV
select_shape_std //特征选择(面积最大)
dev_set_draw //设置边缘
dev_set_line_width  //设置线宽
deg(Phi)//将弧度转度
rad(PhiDeg)//将度转弧度

*对象操作
count_obj //对象计数
concat_obj //对象追加
gen_empty_obj //生成空对象

*仿射变换
area_center求区域重心和面积
orientation_region 求区域角度
vector_angle_to_rigid 求平移和旋转矩阵 刚体变换
hom_mat2d_identity 求单位矩阵
hom_mat2d_translate求平移矩阵
hom_mat2d_rotate  求旋转矩阵
hom_mat2d_scale 求缩放矩阵
affine_trans_image 图像仿射变换
affine_trans_region 区域仿射变换
draw_region 等待画区域右键确认
dev_open_window 打开窗口
dev_close_window 关闭窗口
dev_clear_window 清除窗口
list_files 列举文件夹路径
tuple_regexp_select 过滤路径
region_features 查看特征含义

*模板匹配
create_shape_model 创建模板
inspect_shape_model 检查模板
find_shape_model 查找模板
clear_shape_model 清除模板
affine_trans_contour_xld 轮廓的仿射变换
get_shape_model_contours获得轮廓
get_shape_model_param 获得模型参数
read_shape_model 读入模型
write_shape_model 保存模型
set_shape_model_param 设置边界区域模板也可找到

*飞拍
dyn_threshold 动态阈值
illuminate 光照均衡
equ_histo_image直方图均衡4
emphasize图像增强
open_framegrabber打开相机
set_framegrabber_param设置参数
grab_image_start相机初始化
grab_image_async异步抓图
grab_image同步抓图
draw_circle画圆右键确认
draw_rectangle1画矩形右键确认

*中心移动法
info_framegrabber  枚举设备
edges_sub_pix 提取亚像素精确边缘
fit_circle_contour_xld 拟合圆
set_shape_model_origin 设置原点
gen_cross_contour_xld 生成一个十字叉轮廓

*多模板匹配_等比例
create_scaled_shape_model -等比例创建
find_scaled_shape_model -等比例查找
fill_up --填充区域中的孔洞

*不等比例缩放查找
create_aniso_shape_model 不等比例模板创建
find_aniso_shape_model 不等比例查找

*人机交互
dev_open_window   打开子窗体
create_drawing_object_rectangle1 创建矩形探测器
set_drawing_object_params 设置参数
attach_drawing_object_to_window  绑定探测器在窗口
attach_background_to_window  绑定图像在窗口
get_drawing_object_iconic  获得区域
detach_drawing_object_from_window  取消绑定探测器
detach_background_from_window  取消绑定图像
difference   --差集(俩个区域的差集,模板区域在前(大的)) 
union2   -指定两个区域看成一个区域  
intersection    --区域的交集 
symm_difference  --对称差

*喷涂轮廓
gen_contour_polygon_rounded_xld  生成多边形轮廓
gen_image_const 创建具有恒定灰度值的图像
paint_xld   喷图构造模板图像

*滤波
mean_image 均值滤波
median_rect 中值滤波
gauss_filter 高斯滤波
gauss_distribution生成高斯分布
write_contour_xld_dxf 保存轮廓
read_contour_xld_dxf 读入轮廓

*创建xld轮廓
create_shape_model_xld 直接xld创建   
create_scaled_shape_xld  直接xld创建   等比例缩放
create_aniso_shape_model_xld直接xld创建   不等比例缩放
set_shape_model_metric 设置极性
intensity  求区域在图中的平均灰度值和标准差
boundary 区域缩小到边界

*相关性匹配
create_ncc_model 相关性匹配创建
find_ncc_model 相关性匹配查找
clear_ncc_model 清除模型相关性
write_ncc_model 保存模型
read_ncc_model 读入模型
find_ncc_models 多模板查找

局部变形--形状---扩展
create_local_deformable_model 创建模板
find_local_deformable_model   查找
clear_deformable_model   清除

*一维测量
gen_measure_rectangle2 生成测量矩形
get_image_size 获得图像宽高
measure_pos    边缘测量
measure_pairs  边缘对测量
gen_contour_polygon_xld  生成多边形xld轮廓
disp_line    显示线
disp_rectangle2  显示带方向的矩形
disp_arrow   显示带箭头
close_measure  关闭测量矩形

dev_set_part  局部放大显示
dev_open_window  打开小窗
gen_measure_arc   生成测量弧形                        
gen_circle_contour_xld  生成圆弧xld轮廓
distance_pp   求两个点距离
angle_lx    求直线与水平轴角度
get_points_ellipse   获得椭圆点
disp_arc   显示圆弧

affine_trans_point_2d  点的仿射变换
affine_trans_pixel 像素点的仿射变换
line_orientation   求直线与水平轴角度

*摄像机标定
gen_caltab          生成描述文件
create_calib_data   创建标定模型
set_calib_data_cam_param      设置初始内参
set_calib_data_calib_object   设置标定板描述文件
find_calib_object             查找标定板
get_calib_data_observ_contours   获得标定板轮廓
get_calib_data_observ_points     获得标定板点坐标(单独获得外参)
disp_3d_coord_system   显示坐标系
calibrate_cameras      摄像机标定
get_calib_data   获得内外参
write_cam_par    保存内参
write_pose       保存外参
pose_to_hom_mat3d   姿态转矩阵
set_origin_pose     移动坐标系
image_points_to_world_plane   像素到世界转换

vector_to_pose 求外参
get_calib_data_observ_pose 单独获得外参
caltab_points  获得点世界坐标
create_caltab  生成蜂窝板描述文件

*畸变校正
change_radial_distortion_cam_par求理想内参
gen_radial_distortion_map 求map映射
map_image  map映射矫正
change_radial_distortion_image 图像矫正
tile_images 多张图一起显示

*双目标定
pose_invert    姿态翻转
pose_compose   姿态乘法
disp_caltab    显示标定板
 
1.生成标定板的描述文件 gen_caltab
2.创建标定模型  create_calib_data
3.设置相机的初始内参和标定板的描述文件
相机初始内参  set_calib_data_cam_param
标定板描述文件 set_calib_data_calib_object
4.采集图像循环提取标定板的mark点坐标
查找标定板 find_calib_object
可视化 获得标定轮廓 get_calib_data_observ_contours
获得点的轮廓  get_calib_data_observ_points
生成十字叉轮廓 gen_cross_contour_xld
显示坐标系---世界坐标系 disp_3d_coord_system
5.摄像机标定  calibrate_cameras
6.获得内外参 get_calib_data  姿态矩阵变换 pose_to_hom_mat3d
7.保存 write_cam_par保存内参   write_pose保存外参

*二维测量
boundary        求区域边界
edges_sub_pix   边缘亚像素提取
threshold_sub_pix  边缘亚像素提取
disp_arrow         显示箭头
contour_to_world_plane_xld  像素轮廓转世界轮廓
length_xld                  求轮廓周长
contour_point_num_xld       求轮廓点数
affine_trans_point_3d  点的仿射变换(世界坐标转换成相机坐标)
project_3d_point       点的投影获得像素坐标(相机坐标转换成像素坐标)

*拟合的一些算子
fit_circle_contour_xld       拟合圆
gen_circle_contour_xld       生成圆xld轮廓
fit_rectangle2_contour_xld   拟合矩形
gen_rectangle2_contour_xld   生成矩形
fit_line_contour_xld         拟合直线
gen_contour_polygon_xld      生成多边形xld轮廓线(直线)
fit_ellipse_contour_xld      拟合椭圆
gen_ellipse_contour_xld      生成椭圆

*获得轮廓的属性
get_contour_global_attrib_xld   获得轮廓全局属性
regress_contours_xld            求具有回归属性的轮廓
get_regress_params_xld          求回归属性轮廓的属性值
select_contours_xld             轮廓特征筛选

*分割手法
threshold               二值化
watersheds_threshold    分水领域二值化
regiongrowing           种子生长法
edges_image             提取边缘

segment_contours_xld           轮廓分割
smooth_contours_xld            平滑轮廓
get_points_ellipse             活动椭圆点
disp_arc                       显示弧形

*联合
union_collinear_contours_xld   共线联合
union_cocircular_contours_xld  共圆联合
union_adjacent_contours_xld    近邻联合
union2_closed_contours_xld     闭合联合

*卡尺
get_region_points           获得区域上的点
create_metrology_model      创建卡尺模型
set_metrology_model_image_size    设置宽高
add_metrology_object_line_measure 添加直线卡尺
set_metrology_model_param         设置模型参数
align_metrology_model     定位跟随
apply_metrology_model     卡尺测量
get_metrology_object_result_contour  获得拟合后轮廓
get_metrology_object_result   获得拟合后参数结果
get_metrology_object_measures 获得测量矩形
angle_ll             求两条线角度
intersection_lines   求直线交点
line_orientation     求直线角度
clear_metrology_object   清除卡尺 
clear_metrology_model    清除卡尺 模型
hom_mat2d_to_affine_par  根据矩阵求平移旋转量
vector_to_rigid          求刚体平移旋转矩阵
set_metrology_object_param     设置卡尺参数拟合实例
get_contour_angle_xld          获得角度轮廓
add_metrology_object_generic   添加卡尺模型通用

*重心问题
area_center_gray   灰度重心
area_center_xld    求轮廓包围重心
area_center_points_xld    求xld轮廓重心

*缺陷--blob
min_max_gray  求区域在图像中对应的最大灰度值_最小灰度值
orientation_region  求区域与水平轴夹角
region_features     求区域特征

*缺陷---差分思想
sub_image            差分图像减法
mult_image           图像乘法
var_threshold        局部均值方差二值化
gray_opening_shape   灰度开运算
gray_closing_shape   灰度闭运算
create_variation_model  创建差分模型
train_variation_model   训练
get_variation_model   (获得标准图)
prepare_variation_model   设置参数
compare_variation_model   差分
clear_variation_model     清除差分
sobel_amp                 边缘检测幅度(一阶求导)
point_line_to_hom_mat2d    点到线的矩阵
hom_mat2d_invert           矩阵翻转
gen_tuple_const            生成一个空数组

*缺陷---测量拟合思想
texture_laws       纹理滤波
translate_measure  移动测量矩形
dist_rectangle2_contour_points_xld    求对点距离
get_region_contour       获得边界轮廓坐标
gen_region_points        根据点的坐标形成区域
gen_region_line          生成直线区域
get_region_points        获得区域点坐标
get_contour_xld          获得xld轮廓点的坐标

*缺陷---频域
fft_image        快速傅里叶变换            
fft_image_inv    快速傅里叶逆变换      
fft_generic      傅里叶正逆变换          
rft_generic      傅里叶变换   
convol_fft       频域乘法         
gen_lowpass      低通(直通)滤波器 
gen_highpass     高通(直通)滤波器 
gen_gauss_filter 高斯滤波器
paint_region     喷涂区域
gray_range_rect  确定矩形内的灰度值范围

gen_sin_bandpass     生成正弦带通滤波器
invert_image         灰度翻转
watersheds_threshold 分水领域阈值
watersheds           分水领域
select_gray          灰度特征选择
zoom_image_factor    改变分辨率
hom_mat2d_scale_local  求缩放矩阵
get_contour_attrib_xld 求轮廓属性
lines_gauss            检测线条极其宽度
calculate_lines_gauss_parameters  搭配使用

*频域扩展
crop_domain       裁剪图像
scale_image_max   灰度值变换到0--255
gen_mean_filter   生成均值滤波器 
correlation_fft   相关性(频谱)
gen_derivative_filter(生成衍生高斯滤波器)   
gen_bandpass     带通滤波器   
gen_bandfilter   带阻滤波器
gen_gabor        加窗傅里叶变换滤波器 
convol_gabor     滤波
power_real       转成功率谱
local_max        求局部极大值的区域点    
diff_of_gauss    差分高斯  
zero_crossing    边缘提取区域 二阶
laplace_of_gauss 拉普拉斯高斯
derivate_gauss   衍生高斯
zero_crossing_sub_pix   边缘提取区域 二阶亚像素
gen_region_contour_xld  XLD轮廓转区域
gen_contour_region_xld  区域转xld轮廓
skeleton                计算区域的骨架
gen_contours_skeleton_xld 骨架转xld
cooc_feature_image         共生矩阵
sobel_amp                  sobel检测边缘幅度
gray_histo_abs             求灰度值分布

光度立体重建
photometric_stereo     光度立体重建
derivate_vector_field  梯度场转曲率图
mirror_image           镜像图像
mirror_region          镜像区域
abs_image              求绝对值图像     
region_to_bin          生成二值图像      
rank_region            区域秩序滤波(增加  减少)

*机器学习--第一套算子
create_ocr_class_mlp     创建分类器 
append_ocr_trainf        添加样本
trainf_ocr_class_mlp     训练
do_ocr_single_class_mlp  分类识别
clear_ocr_class_mlp      清除
write_ocr_class_mlp      读分类器
read_ocr_class_mlp       写

*了解算子
get_params_ocr_class_mlp     获取OCR分类器的参数
get_features_ocr_class_mlp   计算分类器特征
concat_ocr_trainf            追加样本数据
read_ocr_trainf_select       从文件中读取特征转换成图像
read_ocr_trainf_names        读分类器中名称和个数
dev_inspect_ctrl

*第二套算子
create_class_mlp     创建分类器
add_sample_class_mlp   mlp添加样本
train_class_mlp      训练
classify_class_mlp   识别
clear_class_mlp      清除模型
write_class_mlp      读分类器
read_class_mlp       写

*第三套算子
create_class_mlp              创建分类器
add_samples_image_class_mlp   添加样本
train_class_mlp               训练(针对的是像素)
classify_image_class_mlp      识别
clear_class_mlp      清除模型
write_class_mlp      读分类器
read_class_mlp       写
hysteresis_threshold 滞后阈值
gen_empty_region     生成空区域

*二维码
create_data_code_2d_model         创建模型     
set_data_code_2d_param            设置参数                      
find_data_code_2d                 解码
clear_data_code_2d_model          清除模型 
get_data_code_2d_results          获得数据结果
get_data_code_2d_objects          获得对象结果
get_data_code_2d_param            获得模型参数值
projective_trans_image            点的其次变换
projective_trans_image            图像投影变换

*一维码
create_bar_code_model     创建模型
set_bar_code_param        设置参数
find_bar_code             解码
clear_bar_code_model      清除模型
中间结果获取:
get_bar_code_object       获得对象结果
get_bar_code_param        获得模型参数值
get_bar_code_result       获得数据结果


 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hi~ 可私信我了解后再进行下载~ 1.基于halcon算法平台; 2.提供深度图源文件以及解压密码; 3.代码预览: */********************************* * @文档名称: 基于点云的平面拟合。 * @作者: hugo * @版本: 1.1 * @日期: 2021-6-16 * @描述: 该方法支持点云平面拟合以及深度图平面拟合。 **********************************/* read_image (imageReal, './replay_38893_2021-6-7.tif') xResolution:=0.06 yResolution:=0.06 zResolution:=0.001 ScaleFactor:=[xResolution,yResolution,zResolution] rateLowRemove:=0.1 rateHighRemove:=0.1 dev_get_window (WindowHandle) *采样区域1 create_drawing_object_rectangle2 (300, 120, rad(90), 30, 20, DrawID) set_drawing_object_params (DrawID, 'color', 'red') set_drawing_object_params (DrawID, 'line_width', 1) attach_drawing_object_to_window (WindowHandle, DrawID) ......... TransPose := [0,0,d,0,0,0,0] rigid_trans_object_model_3d (SampledObjectModel3D1, TransPose, _SampledObjectModel3D1) rigid_trans_object_model_3d (ObjectModelPlane1, TransPose, _ObjectModelPlane1) create_pose (0, 0, Mean/2, 180, 0, 0, 'Rp+T', 'gba', 'point', Pose1) *visualize_object_model_3d (WindowHandle, [_ObjectModelPlane1,_SampledObjectModel3D1,SampledObjectModel3D2], [], [Pose1], [], ['intensity','lut','lut'], ['&amplitude','sqrt','sqrt'], '', 'Edited by AmazingRobot+ ' , PoseOut) visParamName := ['intensity_1','color_0','color_2','alpha_0'] visParamValue := ['coord_z','red','yellow',0.5] visualize_object_model_3d (WindowHandle, [_SampledObjectModel3D1,SampledObjectModel3D2,_ObjectModelPlane1], [], [], visParamName, visParamValue, 'Edited by AmazingRobot+', [], '', PoseOut) stop () 谢谢您的信任~
### 回答1: Halcon 3D算子是一种用于处理三维图像的技术,它可以对三维图像进行高效、准确的分析和识别。Halcon 3D算子可以识别三维物体的形状、轮廓、表面特征等,从而实现三维物体的快速检测、测量和定位。 Halcon 3D算子的实现基于先进的计算机视觉技术,它利用三维图像处理和分析技术,结合光学成像技术和三维成像技术,实现对三维物体的快速处理和识别。Halcon 3D算子具有高效、准确、智能化等优点,为三维图像分析和计算机视觉领域的应用提供了强有力的技术支持。 Halcon 3D算子的应用范围广泛,包括机器人视觉、工业自动化、医学影像处理、三维地图建模等领域。在自动化生产和机器人工业中,Halcon 3D算子可以实现对三维物体的快速、精准检测和定位,从而提高生产效率和产品质量;在医学影像处理中,Halcon 3D算子可以实现三维图像的快速重构和分析,为医学诊断提供更加高效和可靠的技术支持;在三维地图建模中,Halcon 3D算子可以实现对地形和建筑的三维建模和分析,从而为城市规划和建设提供科学依据。 总之,Halcon 3D算子是一种高效、准确、智能化的三维图像处理技术,为计算机视觉领域的发展和应用带来了新的突破。 ### 回答2: Halcon 3D算子是一种用于实现三维视觉技术的计算机算法。通过对三维图像处理,可以让计算机获得图像的三维信息,从而实现对物体的空间定位、大小测量、形状分析等功能。 Halcon 3D算子具有高效、准确、可靠等特点,可以应用于精密测量、机器人导航、医学影像分析等领域。使用该算子需要一定的数学基础和图像处理知识。 Halcon 3D算子广泛应用于工业自动化生产线以及商品品质检测等场景,通过红外线等多种技术手段进行扫描,实现对三维物体的快速识别和定位。其优越的性能在智能化工业领域和辅助医学领域等方面将得到越来越广泛的运用。 总之,Halcon 3D算子是一种具有广泛应用前景的三维视觉算法,它将成为未来智能化制造、机器人技术和医疗影像等领域中不可或缺的技术手段。 ### 回答3: Halcon 3D算子是一种专门针对三维图像处理的技术,它利用了光学相机和激光扫描等多种工具获取三维场景中的对象信息,然后通过各种算子来处理这些数据,以实现目标检测、分类和定位等功能。 Halcon 3D算子的处理过程中需要考虑多个因素,如物体的形状、纹理、颜色和光照等,因此它不仅具备高精度和高速度,还可以适应不同的环境和场景。 在实际应用中,Halcon 3D算子具有广泛的应用前景。例如,在工业自动化中,可以利用它来检测和分类产品,完成精准的自动化生产;在医疗领域中,可以应用于医学影像分析,实现病灶的精确定位和诊断等;在机器人领域中,可以通过它来实现机器人的高精度定位和人机交互等功能。 需要注意的是,Halcon 3D算子的应用还有一定的局限性。它需要依赖于先进的硬件设备和丰富的数据库,同时对操作员的技术水平也有一定的要求。因此,在实际使用中需谨慎操作,避免出现误差或故障,以保证其准确性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值