halcon select_contours_xld 函数 -回复

合集下载

手把手halcon图像拼接的教程

手把手halcon图像拼接的教程

利用halcon进行图像拼接的基本教程首先感谢杂杂鸟,他提供了许多热心的帮助,也完成了这个教程的部分代码。

全部教程做成了一个word,文件名利用halcon进行图像拼接的基本教程.doc 或者直接下载/s/1ciLzm一、什么是图像拼接(略)二、拼接的基本过程使用halcon自带的例子来说明这个过程打开拼接下面的mosaicking.hdv(一)镜头校正CamParam :=[0.0121693,-2675.63,7.40046e-006,7.4e-006,290.491,258.887,640,480]change_radial_distortion_cam_par('adaptive', CamParam, 0, CamParOut)(二)获得图像* Read in theimages and show them one-by-one.for J := 1 to10 by 1read_image (Image, ImgPath+ImgName+J$'02')if (EliminateRadialDistortions)change_radial_distortion_image (Image,Image, Image, CamParam, CamParOut)endifconcat_obj (Images, Image, Images)dev_display (Image)disp_message (WindowHandle1, 'Image'+J$'d', 'window', -1, -1, 'green', 'false')wait_seconds (0.5)endfor(三)图像配准tile_images_offset(Images, TiledImage, [0,0,0,0,0,500,500,500,500,500],[0,660,1320,1980,2640,0,660,1320,1980,2640], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], 3280, 980)(四)图像拼接,获得全军图像gen_projective_mosaic(Images, MosaicImage, StartImage, From, To, ProjMatrices, StackingOrder, 'false', MosaicMatrices2D)除了镜头校正以外,其他几个函数在拼接中是常见的,通过查看帮助获得了解。

HALCON中文中文注解

HALCON中文中文注解

Halcon查询图像参数1、get_grayval ( Image : : Row, Column : Grayval )计算Image图像中坐标为(Row,Column)的点的灰度值Grayval。

2、get_image_pointer1 ( Image : : : Pointer, Type, Width, Height )计算Image图像的数据指针Pointer,图像类型Type,图像宽度Width和高度Height。

Pointer指向了Image data的起点位置。

3、get_image_pointer3 ( ImageRGB : : : PointerRed, PointerGreen,PointerBlue, Type, Width, Height )计算彩色图像ImageRGB的参数。

4、get_image_pointer1_rect ( Image : : : PixelPointer, Width, Height, VerticalPitch, HorizontalBitPitch, BitsPerPixel )计算Image图像中定义区域的最小的长方形的区域的指针Pointer,宽度Width,高度Height,VerticalPitch代表Image的Width*(HorizontalBitPitch/8)。

两个相邻象素的水平距离(以比特计算)HorizontalBitPitch,每像素的比特数BitsPerPixel。

5、get_image_time ( Image : : : MSecond, Second, Minute, Hour, Day, YDay, Month, Year )获取图像生成的时间。

摄像头获取图像和相关参数1、close_all_framegrabbers ( : : : )关闭所有图像采集设备。

2、close_framegrabber ( : : AcqHandle : )关闭Handle为AcqHandle的图像采集设备。

halcon中根据轮廓拟合直线

halcon中根据轮廓拟合直线

Halcon中根据轮廓拟合直线1. 介绍在图像处理领域,Halcon是一款功能强大的视觉软件库,提供了丰富的图像处理和分析工具。

其中,根据轮廓拟合直线是Halcon中常用的一个功能,可以用于检测和测量图像中的直线。

本文将介绍如何使用Halcon实现根据轮廓拟合直线的方法,并提供详细的代码示例和步骤说明。

读者可以按照本文提供的步骤进行操作,并根据自己的需求进行调整和优化。

2. 背景知识在开始编写代码之前,我们需要了解一些背景知识。

首先,了解什么是轮廓和直线。

在图像处理中,轮廓是指图像中连接相同灰度或颜色像素的边界线。

而直线则是由一组有序点构成的几何形状。

其次,我们需要了解Halcon中相关函数和操作。

在Halcon中,有几个函数可以用于根据轮廓拟合直线:•gen_contour_polygon_xld:将轮廓转换为多边形表示。

•fit_line_contour_xld:基于多边形表示的轮廓拟合直线。

•get_contour_xld:获取轮廓的点集。

了解这些函数和操作将有助于我们理解接下来的代码示例和步骤说明。

3. 代码示例下面是一个使用Halcon实现根据轮廓拟合直线的代码示例:read_image(Image, 'p ath/to/image.jpg')threshold(Image, BinaryImage, 128, 255)connection(BinaryImage, ConnectedRegions)select_shape(ConnectedRegions, SelectedRegions, 'a rea', 'a nd', [100, Inf])gen_contour_region(SelectedRegions, Contours, 'b order')gen_contour_polygon_xld(Contours, Polygon)fit_line_contour_xld(Polygon, Lines, 't ukey', 10, 0.5)上述代码首先读取一张图像,并对图像进行阈值处理,得到二值化图像。

halcon常用算子中文说明

halcon常用算子中文说明

sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0)一幅图减另一幅图。

用一幅图的灰度减另一幅的灰度成新的一幅图。

mult_image (Image, ImagePart, ImageResult, 0.015, 0)一幅图加一幅成的一幅图convert_image_type (Traffic2, ImageConverted2, 'int2')转换图像的格式crop_part (ImageNoise, ImagePart, 0, 0, Width, Height)取出一幅图的中部分dots_image (ImageResult, DotImage, 5, 'dark', 2)取出图像中圆点partition_dynamic (SelectedRegions, Partitioned, 25, 20)根据各个区域的特征将各个区域分割开。

intersection (Partitioned, Region, Characters)取出两个区域中重叠的部分,如果 Region 有两个区域在 Partitioned 中,则这两个区域合并成一区域。

difference (RegionDilation, RegionErosion, RegionDifference)取出两个区域中不重叠的部分。

critical_points_sub_pix (FilterResponse, 'facet', 1.5, 0.7, RowMin, ColMin, RowMax, ColMax, RowSaddle, ColSaddle)取出图像中的关键点。

corner_response (Image, FilterResponse, 3, 0.04)auto_threshold (Image, Regions, 10)自动阈值分割,根据灰度直方图中两波峰中的波谷取出阈值。

halcon算子汇总

halcon算子汇总

HALCON算子函数完整汇总Chapter_19:XLD19、1 Access1、get_contour_xld功能:返回XLD轮廓(contour)得坐标。

2、get_lines_xld功能:返回一个XLD多边形(polygon)数据。

3、get_parallels_xld功能:返回一个XLD并行数据。

4、get_polygon_xld功能:返回一个XLD多边形(polygon)数据。

19、2 Creation1、gen_contour_nurbs_xld功能:将一个NURBS曲线转换为一个XLD(密度?)轮廓(contour)。

2、gen_contour_polygon_rounded_xld功能:根据一个多边形(polygon)(以元组形式给出)得圆形角点创建一个XLD轮廓(contour)。

3、gen_contour_polygon_xld功能:根据一个多边形(polygon)(以元组形式给出)创建一个XLD轮廓(contour)。

4、gen_contour_region_xld功能:根据区域创建XLD轮廓(contour)。

5、gen_contours_skeleton_xld功能:将框架转换为XLD轮廓(contour)。

6、gen_cross_contour_xld功能:根据每个输入点交叉得形状创键一个XLD轮廓(contour)。

7、gen_ellipse_contour_xld功能:根据相应得椭圆弧创建一个XLD轮廓(contour)。

8、gen_parallels_xld功能:提取并行XLD多边形(polygon)。

9、gen_polygons_xld功能:根据多边形近似创建XLD轮廓(contour)。

10、gen_rectangle2_contour_xld功能:创建一个矩形XLD轮廓(contour)。

11、mod_parallels_xld功能:提取一个包括同质区域得并行XLD多边形(polygon)。

利用halcon进行图像拼接的基本教程

利用halcon进行图像拼接的基本教程

一、什么是图像拼接(略)二、拼接的基本过程使用halcon自带的例子来说明这个过程打开拼接下面的mosaicking.hdv(一)镜头校正CamParam := [0.0121693,-2675.63,7.40046e-006,7.4e-006,290.491,258.887,640,480] change_radial_distortion_cam_par ('adaptive', CamParam, 0, CamParOut)(二)获得图像* Read in the images and show them one-by-one.for J := 1 to 10 by 1read_image (Image, ImgPath+ImgName+J$'02')if (EliminateRadialDistortions)change_radial_distortion_image (Image, Image, Image, CamParam, CamParOut)endifconcat_obj (Images, Image, Images)dev_display (Image)disp_message (WindowHandle1, 'Image '+J$'d', 'window', -1, -1, 'green', 'false')wait_seconds (0.5)endfor(三)图像配准tile_images_offset (Images, TiledImage, [0,0,0,0,0,500,500,500,500,500],[0,660,1320,1980,2640,0,660,1320,1980,2640], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], 3280, 980)(四)图像拼接,获得全军图像gen_projective_mosaic (Images, MosaicImage, StartImage, From, To, ProjMatrices, StackingOrder,'false', MosaicMatrices2D)除了镜头校正以外,其他几个函数在拼接中是常见的,通过查看帮助获得了解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

halcon select_contours_xld 函数-回复Halcon是一款强大的机器视觉库,提供了丰富的函数和算法用于图像处理和分析。

其中,select_contours_xld函数是Halcon中用于选择轮廓线的函数之一。

本文将为您逐步讲解select_contours_xld函数的用法和原理,并通过实际案例来展示如何使用这个函数来处理图像中的轮廓线。

第一步:了解select_contours_xld函数的基本概念和用法(100-200字)在机器视觉应用中,轮廓线是一个重要的图像特征,可以用于对象检测、形状分析和测量等任务。

Halcon的select_contours_xld函数可以根据一定的条件选择图像中的轮廓线,提供了灵活的参数设置,并且可以与其他函数结合使用来实现更复杂的操作。

第二步:了解select_contours_xld函数的参数和返回值(200-300字)select_contours_xld函数的主要参数包括输入图像、定义轮廓线的运算符、过滤条件和返回值。

输入图像是希望提取轮廓线的原始图像。

运算符可以是运算结果是轮廓线的图像处理算子,如边缘检测算子。

过滤条件是一个表达式,用于对轮廓线进行筛选。

返回值是一个包含选择的轮廓线的XLD(外轮廓描述)数据类型。

第三步:使用select_contours_xld函数提取指定轮廓线(300-500字)为了更好地理解select_contours_xld函数的用法,我们将通过一个实际案例来演示函数的应用过程。

假设我们有一张图像,其中包含了多个物体
的轮廓线。

我们希望提取出其中一个指定物体的轮廓线。

首先,我们需要加载图像并选择合适的运算符来找到轮廓线。

假设我们使用了边缘检测来得到一幅二值图像作为输入。

接下来,我们可以设置过滤条件来筛选出所需的轮廓线。

过滤条件可以包括轮廓线的长度、角度、形状等属性,以及与其他图形的关系等。

在本例中,我们将使用物体的形状和面积来进行筛选。

使用select_contours_xld函数提取轮廓线之后,我们可以对返回的XLD 对象进行进一步的处理和分析。

例如,我们可以计算轮廓线的长度、面积、形状等属性,或者将其与其他图形进行比较和匹配。

第四步:使用select_contours_xld函数实现更复杂的应用(500字以上)通过前面的演示,我们了解了如何使用select_contours_xld函数来提取指定物体的轮廓线。

然而,select_contours_xld函数并不仅限于这样简单的应用场景,它可以与其他函数结合使用来实现更复杂的图像处理和分析任务。

例如,我们可以将select_contours_xld函数与gen_region_contour_xld 函数结合使用,以提取图像中不同物体的轮廓线。

gen_region_contour_xld函数可以根据图像中的区域,生成对应的轮廓线。

通过将这两个函数结合使用,我们可以实现自动识别和提取多个物体
的轮廓线。

另外,select_contours_xld函数还可以与其他图像处理和分析算法结合使用,以实现更复杂的功能。

例如,我们可以使用select_contours_xld 函数提取物体的轮廓线,然后使用fit_shape_contour_xld函数对轮廓线进行形状拟合,最终得到物体的几何特征。

总结:
本文通过逐步讲解的方式介绍了Halcon中的select_contours_xld函数。

我们首先了解了该函数的基本概念和用法,然后介绍了其参数和返回值。

接着,我们通过一个实际案例演示了如何使用该函数来提取图像中的轮廓线。

最后,我们展示了select_contours_xld函数的更复杂应用,包括与其他函数的结合使用。

通过本文的介绍,读者对于select_contours_xld 函数的使用将有更深入的了解,从而能够在机器视觉应用中更好地利用这个强大的函数来处理和分析图像中的轮廓线。

相关文档
最新文档