Halcon 消除图像上的干扰波纹

10 篇文章 1 订阅
7 篇文章 7 订阅


上图在垂直方向上存在一定频率的干扰波纹。可将图像转到频域内处理掉这种波纹。

FFT后:


滤波器:


处理后的频域图像:


逆变换:


消除了垂直方向上的干扰。

get_image_size (Image1, Width1, Height1)
gen_rectangle1 (Rectangle1, 0, Width1/2-2, Height1/2-10, Width1/2+2)
gen_rectangle1 (Rectangle2, Height1/2+10, Width1/2-2, Height1, Width1/2+2)
union2 (Rectangle1, Rectangle2, RegionUnion)
fft_generic (Image1, ImageFFT2, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')
paint_region (RegionUnion, ImageFFT2, ImageResult, 0, 'fill')
fft_generic (ImageResult, ImageFFT3, 'from_freq', 1, 'sqrt', 'dc_center', 'byte')

Halcon 提供了一个封装好的函数来在图像上通过鼠标操作画线,该过程包括点击左键开始绘制和点击右键确认线条。这里有两个步骤: 1. **鼠标左键绘制**[^1]: 使用 Halcon 的内置功能,可以通过模拟用户的鼠标点击动作,在图像上指定位置开始画线。具体的实现细节取决于 Halcon 内部的 API,通常涉及鼠标事件监听和坐标点的记录。 示例代码可能不在官方文档直接给出,但可以使用 Halcon 的图形交互工具或编写自定义脚本来完成这一操作。例如,你可以创建一个函数 `draw_line`,接受鼠标点击的位置作为参数,并在每次点击时添加一个新的线段。 2. **鼠标右键确认**: 当用户完成线条绘制后,通过监听鼠标右键点击,可以结束当前绘制并确认线条。这通常涉及到设置一个右键点击事件处理器,当检测到右键点击时停止绘图并将之前记录的点连接起来。 3. **绘制轮廓或区域**[^2]: 如果你想在图像上显示轮廓或区域,Halcon 提供了 `get_contour_xld` 函数,用于从给定的轮廓或区域提取坐标数据。一旦获得这些坐标,可以直接在图像上用线或者其他形状表示出来。例如,你可以先调用 `get_contour_xld` 获取轮廓信息,然后用 `DrawLine` 或 `DrawPolygon` 函数在图像上绘制出来。 请注意,实际操作可能需要结合 Halcon 的教程文档和API手册来详细了解如何集成这些功能到你的项目中。如果你不熟悉 Halcon,可能需要一些时间学习基本概念和语法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值