halcon例程学习笔记(1)---一维函数的使用

本例程来做halcon10.0版本中的一维函数中auto_threshold.hdev例程

一:例程代码如下:

dev_close_window ()                                                      //关闭窗口
read_image (Aegypt1, 'egypt1')                                     //读取图像
get_image_size (Aegypt1, Width, Height)                  //获取图像宽度和高度
dev_open_window (0, 0, Width, Height, 'black', WindowID)   //打开一个图像大小的窗口
set_display_font (WindowID, 14, 'mono', 'true', 'false')        
dev_set_colored (6)
dev_clear_window ()                      //清空窗口
Sigma := 4                                       //设置平滑初始参数
auto_threshold (Aegypt1, Regions, Sigma)      //图像自动阈值分割

*选定区域的灰度值计算方法

*reduce_domain (Aegypt1, Regions, ImageReduced)
*gray_histo (ImageReduced, Aegypt1, AbsoluteHisto, RelativeHisto)

*

*整个图像区域的灰度值计算
gray_histo (Aegypt1, Aegypt1, AbsoluteHisto, RelativeHisto)        //获取图像的灰度分布值
disp_continue_message (WindowID, 'black', 'true')
stop ()
dev_clear_window ()
create_funct_1d_array (AbsoluteHisto, Function)          //创建一维函数数组
smooth_funct_1d_gauss (Function, Sigma, SmoothedFunction)   //使用高斯平滑一维函数
dev_set_color ('red')
funct_1d_to_pairs (SmoothedFunction, XValues, YValues)      //获得对应的一维函数值 并存放到YValues
gen_region_histo (Histo1, YValues, 24, 255, 1)                            //创建区域灰度直方图
dev_display (Aegypt1)
dev_set_color ('white')
gen_region_histo (Histo2, RelativeHisto, 255, 255, 1)        

二:详解关键函数(下面只是自己对函数的个人理解,望指正)

1:gray_histo 计算灰度值分布

gray_histo(Regions,Image : : :AbsoluteHisto,RelativeHisto)

Regions (input_object)  region(-array) object

Region in which the histogram is to be calculated.

Image (input_object)  image object (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

Image the gray value distribution of which is to be calculated.

AbsoluteHisto (output_control)  histogram-array

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 以下是使用Halcon相机通过手机Type-C接口测量尺寸的示例代码: ``` * 定义变量 dev_open_framegrabber('Image', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'Halcon', -1, 'default', 'default', 'default', 'default', 'default', 'default', 'default', 'default', 'default', 'default', 'default', 'default', AcqHandle) * 设置相机参数 set_framegrabber_param(AcqHandle, 'ExposureTime', 10000.0) set_framegrabber_param(AcqHandle, 'Gain', 1.0) * 获取图像 dev_grab_image(Image, AcqHandle) * 处理图像 dev_disp_obj(Image) dev_set_paint('color') dev_set_color('red') dev_draw_circle(200, 200, 50) dev_set_tposition(100, 100) dev_set_font('Arial-Bold-24') dev_write_string('Hello, World!') * 测量尺寸 find_circle(Image, Circle) get_circle_contour(Circle, Contour) gen_contour_polygon_xld(Contour, Polygon, 'fit', 5, 0, 0) get_polygon_approx(Polygon, 'max_devi', 5, Approx) get_polygon_vertices(Approx, Vertices) gen_contour_polygon_xld(Vertices, Polygon2, 'convex', 1, 0, 0) gen_circle(Polygon2, Row, Column, Radius) * 显示结果 dev_display(Image) dev_display_circle(Row, Column, Radius) ``` 上面的代码主要分为以下几个步骤: 1. 打开相机,并设置相机参数(曝光时间和增益)。 2. 获取图像并在屏幕上显示。 3. 在图像中找到一个圆形对象。 4. 从圆形对象中提取轮廓,并使用多边形拟合算法将其转换为多边形。 5. 计算多边形的外接圆,并显示在屏幕上。 请注意,这只是一个简单的示例,实际的代码可能需要根据您的具体应用进行调整。 ### 回答2: Halcon相机是一款高性能的工业相机,可以用于精确测量尺寸的应用场景。要使用Halcon相机进行拍照手机Type-C接口测量尺寸,需要编写一些代码。 首先,需要初始化Halcon相机,连接到电脑上,并设置参数以适应拍照环境,并打开相机。 接下来,我们可以使用Halcon提供的图像处理函数进行图像分析和测量。首先,需要采集一张图像。可以使用grab_image函数获取当前相机采集的图像。 然后,我们可以通过一系列的图像处理函数对图像进行预处理,以提取出Type-C接口的特征。比如,可以使用threshold函数对图像进行二值化处理,将目标区域分割出来;使用find_shape_models函数对目标进行形状匹配,找到Type-C接口的位置。 找到Type-C接口的位置后,可以根据需要进行尺寸测量。可以使用measure_length函数测量接口的长度,measure_distance函数测量不同特征点之间的距离,measure_rectangle1函数测量接口的宽度和高度等。 最后,可以将测量结果输出,比如通过输出测量结果的坐标、长度、宽度等信息。 总结来说,使用Halcon相机进行拍照手机Type-C接口测量尺寸的代码主要包括相机的初始化和参数设置、图像采集、图像处理、特征提取、尺寸测量和结果输出等步骤。 ### 回答3: Halcon相机拍照手机Type-C接口测量尺寸的代码如下: 首先,我们需要打开Halcon相机,这可以通过调用Halcon的相机驱动函数进行操作。然后,我们需要设置相机的参数,包括分辨率、曝光时间和图像格式等。 接下来,我们需要拍摄一张手机Type-C接口的图像。这可以通过调用Halcon的图像采集函数实现,该函数会返回一个图像对象。 然后,我们需要对图像进行预处理。预处理包括图像去噪、增强和平滑等操作,以提高后续测量的准确性。 接下来,我们可以使用Halcon的测量工具进行尺寸测量。通过选择Type-C接口的特征点或边缘,可以使用点定位、线定位或面定位等测量方法获得尺寸信息。测量结果可以存储在变量中,以便后续处理或显示。 最后,我们可以将测量结果显示在图像上,以便用户查看。这可以通过调用Halcon的图像显示函数实现,该函数可以在图像上绘制测量结果的位置和尺寸等信息。 总结起来,Halcon相机拍照手机Type-C接口测量尺寸的代码主要包括相机操作、图像采集、图像预处理、尺寸测量和结果显示等步骤。通过这些步骤,我们可以准确地测量手机Type-C接口的尺寸。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值