halcon例程学习
乌里随记
这个作者很懒,什么都没留下…
展开
-
halcon change_radial_distortion_points算子
change_radial_distortion_points:改变像素坐标的径向畸变,不适用线扫描相机描述:该算子根据相机内部参数CamParamln和CamParamOut改变输入图像坐标(Row,Col)的径向畸变,使用CamPaaramln将每个输入像素(Row,Col)转换为图像平面,并使用CamParamOut将其投影为另一幅图像径向畸变:光线在远离透镜中心的地方比靠近中心的地方更加弯曲...原创 2020-10-09 15:15:19 · 516 阅读 · 0 评论 -
explore_halcon.hdev(36)之p_do_multiple_parts函数模块
函数:基于形状模型匹配,模型旋转360度对图形进行匹配算子:1.gen_contours_skeleton_xld(Skeleton : Contours : Length, Mode : ):将输入骨架转成轮廓参数:Length:轮廓线必须拥有的最小点数Mode :轮廓过滤模式2.create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric,原创 2020-06-20 14:23:05 · 273 阅读 · 0 评论 -
explore_halcon.hdev(35)之p_do_roads函数模块
函数:根据航拍图像提取道路中心算子:1.lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : )原创 2020-06-20 13:37:14 · 268 阅读 · 0 评论 -
explore_halcon.hdev(34)之p_do_resistors函数模块
函数:使用多重聚焦级别提取深度根据多个不同聚焦的图片,通过depth_from_focus算子获取图像深度,在经过一系列的变换获取最终的深度图像效果图:算子:1.channels_to_image(Images : MultiChannelImage : : ):转换为一个多通道的图2.access_channel(MultiChannelImage : Image : Channel : ):访问多通道图像的通道3.depth_from_focus(MultiFocusImag原创 2020-06-19 10:28:07 · 440 阅读 · 0 评论 -
explore_halcon.hdev(33)之p_do_circles函数模块
函数:测量钢球的半径根据图像通过fast_threshold阈值分割算子获取钢球的区域,获取区域的边界region,剪切边界,通过边界裁剪图像,对裁剪的图像进行轮廓线提取。最后通过提取的轮廓线拟合圆效果图:算子:1.boundary(Region : RegionBorder : BoundaryType : ):把一个区域缩小到它的边界参数:BoundaryType:边界类型('inner':轮廓i型按在原区域内。'outer':原始区域外的一个像素。'inner_fille.原创 2020-06-19 09:10:54 · 222 阅读 · 0 评论 -
explore_halcon.hdev(32)之p_do_angio函数模块
函数:通过算子lines_gauss提取图像中的XLD算子:1.lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : ):检测线条及其宽度,以亚像素精度返回XLDLow与High计算公式:ContrastLow 和ContrastHigh是待提取线段的灰度值对比参数:Sigma:平滑量(较大的值会导致线的提取比较差)Low:原创 2020-06-19 08:02:50 · 175 阅读 · 0 评论 -
explore_halcon.hdev(31)之p_do_razor_blades函数模块
函数:该示例程序使用基于形状的匹配来测量工具的排列ROI,然后测量工具检查单个刀片效果图:函数:1.gen_measure_rectangle2( : : Row, Column, Phi, Length1, Length2, Width, Height, Interpolation : MeasureHandle):提取垂直于矩形的直线边参数:Width, Height:随后处理图像的宽、高Interpolation :使用的内插类型MeasureHandle:测量对象句柄原创 2020-06-18 15:19:46 · 218 阅读 · 0 评论 -
explore_halcon.hdev(30)之p_do_grid_rectification函数模块
函数:根据原始网格与校正后的网格生成映射Map,在对图像应用映射校正图像,识别图像中的条形码鞍点:一个不是局部极值点的驻点称为鞍点驻点:函数在一点处的一阶导数为零效果图:算子:1.find_rectification_grid(Image : GridRegion : MinContrast, Radius : ):对图像中的校正网格区域进行分割,提取对比度至少为MinContrast的图像区域,并填充这些区域中的孔。然后,一个半径为Radius的开口应用于这些区域,以消除较小的原创 2020-06-18 09:36:30 · 514 阅读 · 0 评论 -
explore_halcon.hdev(29)之p_do_mosaicking函数模块
函数:对图像进行拼接,拼接步骤:1.读取图像 2.计算特征点 3.计算变换矩阵 4.拼接效果图:算子:1.change_radial_distortion_cam_par( : : Mode, CamParamIn, DistortionCoeffs : CamParamOut):根据指定的径向畸变确定新的相机参数。不适用与线扫描相机参数:Mode:'fixed':只修改畸变系数,其他相机内部参数不变。会导致场景可见部分的变化 'fullsize':缩放系数、和图像中心会修原创 2020-06-17 15:31:58 · 402 阅读 · 0 评论 -
explore_halcon.hdev(29)之p_do_color_fuses函数模块
函数:对图像进行颜色识别,将突图像转为RGB三通道图,将三通道图转成’hsv‘色差空间中,在针对颜色特定的灰度值范围对图像中的物体进行区分,图像的明亮度对结果影响不大效果图:主要算子:trans_from_rgb:从RGB颜色空间转换图像到任意颜色空间HSV:H色调、S饱和度、V明度计算方式: Min := min([R, G, B]) Max := max([R, G, B]) V := Max if (Max == Min) S := 0 ...原创 2020-06-16 17:06:15 · 203 阅读 · 0 评论 -
explore_halcon.hdev(28)之p_do_world_plane函数模块
函数:当相机与物体平面不在同一个平面内是,通过shape-base对物体进行识别,首先通过标定获取相机的参数,通过set_origin_pose算子对位姿进行移动,去掉标定版的厚度。根据标定获取到的参数生成投影映射,对应用映射的图像进行shape-base匹配,找出符合模型的轮廓,并对匹配到的坐标进行一系列仿射变化加以显示图像仿射变换:第一种:根据位姿计算 3D仿射变换1.pose_to_hom_mat3d:根据3D位姿生成其次变换矩阵(3D位姿是目标对象的位姿)2.affine_tra原创 2020-06-16 16:43:09 · 285 阅读 · 0 评论 -
explore_halcon.hdev(27)之p_do_pcb函数模块
1.gray_opening_shape(Image : ImageOpening : MaskHeight, MaskWidth, MaskShape : ):用选的的模版打开灰度值原创 2020-06-15 13:44:02 · 292 阅读 · 0 评论 -
Halcon模型匹配
形状模型匹配:分为一般形状模型匹配shape_model、线性变形匹配模板planar_deformable_model、局部可变形模板local_deformable_model、和比例缩放模板Scale_model1.形状模型匹配shape_model:不支持投影变形的模版匹配,匹配速度最快。模板的形状和大小一经制作完毕便不再改变,在查找模板的过程中,只会改变模板的方向和位置等来匹配目标图像中的图像。这个方法查找速度很快,但是当目标图像中与模板对应的图像存在比例放大缩小或是投影变形如倾斜等,均会影响原创 2020-06-15 10:06:21 · 1110 阅读 · 0 评论 -
halcon edges_image算子分析
edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : ):使用Deriche, Lanser, Shen或者Canny 滤波器进行边缘提取参数:Image :输入图像ImaAmp:边缘振幅(梯度大小)图像ImaDir :图像边缘方向Filter:边缘算子Alpha:过滤器参数,小的值导致强平滑,但是更少的细节(canny算子相反)NMS:非最大抑制(设置为none,表示不需要使用该值)Low:原创 2020-06-15 09:49:03 · 3967 阅读 · 0 评论 -
HALCON guided_filter导向滤波算子分析
1.guided_filter(Image, ImageGuide : ImageGuided : Radius, Amplitude : )可应用在图像增强,HDR压缩、图像抠图及图像去雾等场景参数:Radius:滤光片的大小,数值越大,滤波影响的区域越大,保留的细节越少。Amplitude:用来决定什么是边,什么是齐次区域。Amplitude(振幅)越大,边缘越平滑。建议振幅的值应该低于需保留边缘的对比度当Image和ImageGuide为同一张图片,则guided_filter主要是.原创 2020-05-16 09:56:29 · 2220 阅读 · 1 评论 -
explore_halcon.hdev(26)之p_do_2dbarcode函数模块
Halcon的二维码解码步骤和解析:作者:xh6300出处:http://www.cnblogs.com/xh6300/原创 2020-05-13 14:20:24 · 298 阅读 · 0 评论 -
explore_halcon.hdev(25)之p_do_ocr_color函数模块
函数:OCR分割带有颜色的图像中的数字效果图:算子:1.mean_image(Image : ImageMean : MaskWidth, MaskHeight : ):均值滤波,对于模糊图像以及图像内部的噪声具有很好的作用 (取周围点的平均值)滤波器的模板的大小是指滤波矩阵的维度2.clip_region(Region : RegionClipped : Row1, Column1, Row2, Column2 : ):将一个区域剪切到一个矩形中3.sub_image(Imag原创 2020-05-12 08:28:25 · 153 阅读 · 0 评论 -
explore_halcon.hdev(24)之p_do_cookie_box函数模块
函数 :基于描述匹配:应用场景:搜索对象有轻微的变形,透视的场合。根据一些描述点的位置和灰度值进行匹配效果图:1.find_calib_descriptor_model(Image : : ModelID, DetectorParamName, DetectorParamValue, DescriptorParamName, DescriptorParamValue, MinScore, NumMatches, CamParam, ScoreType : Pose, Score):找到图原创 2020-05-12 08:27:35 · 184 阅读 · 0 评论 -
explore_halcon.hdev(23)之p_do_balls函数模块
函数:该函数是焊球检验对于小于17的直径判断为不符合,主要是通过threshold算子对图像进行处理,识别出焊球的轮廓,针对轮廓的误差使用expand_gray进行调整,最后计算轮廓的半径进行判断效果图:算子:1.select_shape_std(Regions : SelectedRegions : Shape, Percent : ):选择给定形状的区域参数:Regions :给定区域SelectedRegions :输出选择区域Shape:要选择的形状特征Per原创 2020-05-11 10:06:41 · 279 阅读 · 0 评论 -
explore_halcon.hdev(22)之p_do_variation_modle_illumination函数模块
1.create_scaled_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, Contrast, MinContrast : ModelID):准备一个等温线比例的星环模型进行匹配参数:Template :输入将用于创建模型的域的图像NumLevels:金字塔层的最大数量AngleStart原创 2020-05-10 13:12:54 · 280 阅读 · 0 评论 -
explore_halcon.hdev(21)之p_do_optical_flow_bicycle函数模块
1.optical_flow_mg(ImageT1, ImageT2 : VectorField : Algorithm, SmoothingSigma, IntegrationSigma, FlowSmoothness, GradientConstancy, MGParamName, MGParamValue : ):计算两幅图像的光流原创 2020-05-09 14:27:56 · 352 阅读 · 0 评论 -
explore_halcon.hdev(20)之p_do_novelty_detection_gmm函数模块
图像的频率:灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度低频:灰度缓慢的变化,连续渐变的区域高频:显示图像的边缘函数:通过纹理过滤器过滤的图像进行GMM(高斯混合模型)分类, 对分类出的区域进行difference,分割出不同区域,对分割出的区域select_shape条件判断,找出异常的区域效果图:1.zoom_image_factor(Image : ImageZ...原创 2020-05-08 16:16:09 · 267 阅读 · 0 评论 -
explore_halcon.hdev(19)之p_do_inspect_leather_photometric_stereo函数模块
函数:该函数演示利用光度立视觉技术检查皮革样本。输入是4张光线来自不同方向的皮革图片算子:1.var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : ):阈值图像通过局部均值和标准差分析...原创 2020-05-08 11:36:46 · 322 阅读 · 0 评论 -
halcon中阈值分割算子用法
1.threshold(Image : Region : MinGray, MaxGray : ):通过给定的阈值区间对图像进行分割效果图: read_image (Audi2, 'audi2')fill_interlace (Audi2, ImageFilled, 'odd'...原创 2020-04-30 11:37:47 · 3504 阅读 · 0 评论 -
explore_halcon.hdev(18)之p_find_cocoa_package_deformable函数模块
1.create_local_deformable_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, Contrast, MinContr...原创 2020-04-29 11:01:05 · 298 阅读 · 0 评论 -
explore_halcon.hdev(17)之p_do_textline_orientation函数模块
函数:主要功能识别文本行的方向,并对文本中的点进行识别主要方法:text_line_orientation识别文本行的方向,并对图像进行旋转,增强图像中点dots_image并对点进行处理增强对比度,获取增强对比度后图像的平均灰度值,根据平均灰度值筛选图像,最后根据开运算、闭运算、最小矩形对点进行提取显示识别后的效果图:算子:1.text_line_orientation(Re...原创 2020-04-28 16:34:12 · 865 阅读 · 0 评论 -
explore_halcon.hdev(16)之p_do_3d_matching_clamps函数模块
函数:位姿的三种表示形式:欧拉角、罗德里格斯表示、四元数欧拉角包括XYZ,偏航角、俯仰角、横滚角算子:1.find_shape_model_3d(Image : : ShapeModel3DID, MinScore, Greediness, NumLevels, GenParamName, GenParamValue : Pose, CovPose, Score):在一个图像...原创 2020-04-28 14:18:21 · 463 阅读 · 0 评论 -
halcon中的Pose
Pose姿态描述的是一个刚性的3D转换,即,一种由任意平移和旋转组成的变换。在Halcon中,一个pose是具有7个参数的元组:3个参数描述平移(TransX、TransY、TransZ),3个参数描述旋转(RotX、RotY、RotZ)。最后一个参数确定了平移和旋转的顺序(以及旋转的方向)3D姿势有两种解释:第一种,描述了一个坐标系相对于另一个坐标系的位置和方向(例如,一个零件坐标系相对...原创 2020-04-28 09:09:28 · 4701 阅读 · 2 评论 -
explore_halcon.hdev(15)之p_do_bottle_mouth函数模块
算子:1.auto_threshold(Image : Regions : Sigma : ):使用从直方图确定的阈值分割图像使用多个灰度值分割单通道图像,首先,确定灰度值的绝对直方图。然后从直方图中提取相关的最小值,依次作为阈值操作的参数。这里的Sigma的缩放是指原始图像的灰度值2.boundary(Region : RegionBorder : BoundaryType : ):...原创 2020-04-27 15:32:40 · 267 阅读 · 0 评论 -
explore_halcon.hdev(14)之p_do_calibrate_cameras_telecentric_tilt函数模块
算子:1.crop_rectangle1(Image : ImagePart : Row1, Column1, Row2, Column2 : ):裁剪一个或多个矩形区域,矩形有左上角和右下角的坐标定义生成场景图像:1.gen_contour_polygon_xld( : Contour : Row, Col : ):生成一条线2.gen_region_polygon_filled...原创 2020-04-26 15:16:34 · 477 阅读 · 1 评论 -
explore_halcon.hdev(13)之p_do_read_braille_photometric_stereo函数模块
算子:1.photometric_stereo(Images : HeightField, Gradient, Albedo : Slants, Tilts, ResultType, ReconstructionMethod, GenParamName, GenParamValue : ):根据光度立体视觉技术重建表面参数:Images :输入不同光照条件的图片(至少是来自3个方向上的...原创 2020-04-24 13:13:47 · 370 阅读 · 0 评论 -
explore_halcon.hdev(12)之p_do_reconstruction_stereo_fusion函数模块
该函数主要是设置3D立体模型,及其参数,主要参数有'resolution'设置分辨率以及生成相机的3D模型算子:1.gen_camera_setup_object_model_3d( : : CameraSetupModelID, CameraSize, ConeLength : ObjectModel3DCamera, ObjectModel3DCone):生成相机可视化的立体3D模型...原创 2020-04-23 16:39:50 · 435 阅读 · 0 评论 -
explore_halcon.hdev(11)之p_do_find_barcode函数模块
该函数主要是针对图像中的所有条形码进行识别,对污染的条形码也有较好的识别率。主要流程:1.创建条形码模型句柄2.设置条形码模型的参数3.对图片中的所有条形码进行识别4.获取识别到的数据算子:1.create_bar_code_model( : : GenParamName, GenParamValue : BarCodeHandle):创建一个条形码阅读器的模版,该模版...原创 2020-04-23 14:52:21 · 394 阅读 · 0 评论 -
explore_halcon.hdev(10)之p_do_track_engine_part函数模块
齐次坐标:是普通坐标乘以一个系数在添加一个w的坐标,例如一个普通坐标点(x,y,z)转换为齐次坐标为(x*w,y*w,z*w,w)齐次坐标矩阵:包含物体的位置信息与姿态信息的矩阵,最后一行固定数字0001。即一个n维的向量用n+1表示齐次坐标矩阵的作用:1.可以描述坐标系B相对于A的空间位置2.可以将某个物体在坐标系B上的空间信息换到到坐标系上。3.可以得出同一个坐标系B某向量...原创 2020-04-23 13:55:42 · 395 阅读 · 3 评论 -
机器视觉中相机的介绍
详细请阅读https://www.sohu.com/a/223578359_712214文章种类:线扫描相机、面扫描相机、CCD相机、CMOS相机、模拟相机、数字相机、彩色相机、黑白相机指标:象元尺寸、分辨率、靶面大小、感应曲线、动态范围、灵敏度、速度噪声、填充因子、体积、质量、工作环境等工作模式:Free run、Trigger(多种)、长时间曝光等传输方式:GIGE,Cam...转载 2020-04-23 08:14:59 · 1354 阅读 · 0 评论 -
explore_halcon.hdev(9)之p_do_ecc200_finder_pattern_tolerance函数模块
该函数主要是对Data Matrix ECC 200类型的二维码进行识别,主要流程:1.创建Data Matrix ECC 200类型的二维码模型。2.对二维码模型进行训练。3.对图片中的二维码进行数据识别1.create_data_code_2d_model( : : SymbolType, GenParamName, GenParamValue : DataCodeHandle):创建2D...原创 2020-04-22 16:35:13 · 440 阅读 · 0 评论 -
explore_halcon.hdev(8)之p_do_locate_pipe_joints_stereo函数模块
1.read_camera_setup_model( : : FileName : CameraSetupModelID):从文件中还原相机设置模型2.get_camera_setup_param( : : CameraSetupModelID, CameraIdx, GenParamName : GenParamValue):获取相机模型的通用参数参数:CameraSetupMode...原创 2020-04-22 14:08:23 · 399 阅读 · 0 评论 -
reconstruct_surface_stereo — 从校准的多视角立体图像重建表面
reconstruct_surface_stereo(Images : : StereoModelID : ObjectModel3D)参数:Images :多视角图像StereoModelID :立体模型句柄ObjectModel3D:处理结果表面句柄先决条件:1.获取校准后的相机设置模型并对其进行配置,StereoModelID创建时指定相机设置模型2.创建一个立体...原创 2020-04-21 16:15:47 · 1130 阅读 · 0 评论 -
explore_halcon.hdev(7)之p_do_blister_mixed函数模块
三通道图像的灰度值是是三个单通到图像灰度值的组合,值越大看起来图像越亮,值越小图像越暗,在三通道图像上看哪部分的哪种颜色越深,证明在该部分的哪种颜色分量越大,反映到该通道上越亮高斯混合模型:1.shape_trans(Region : RegionTrans : Type : ):改变一个区域的形状参数:Region:输入区域RegionTrans:转换后区域Type...原创 2020-04-20 13:59:55 · 254 阅读 · 0 评论 -
explore_halcon.hdev(6)之p_do_segment_plants函数模块
该功能实现根据图片颜色、阈值分割图像中的植物CIELAB颜色空间:CIE指的是International Commission on Illumination(国际照明委员会),Lab是由一个亮度通道和两个颜色通道组成的。L:表示亮度a:表示从绿色到红色的分量b:表示从蓝色到黄色的分量Lab特性:与设备无关,在给定了颜色空间白点(white point)之后,这个颜色空间就能明...原创 2020-04-18 11:13:00 · 311 阅读 · 0 评论