设置首页收藏本站
开启左侧

Halcon傅里叶变换,算法加速,格式转换

[复制链接]
手写不期而遇 发表于 2025-12-7 10:39:51 | 显示全部楼层 |阅读模式
傅里叶变换常用于缺陷检测项目,对于一些背景偏暗,对比度不明显,有明显周期性背景的场景,傅里叶变换可以起到提升对比度的效果。
傅里叶变换从频域角度来处理,对于一些图像像素尺寸大的图像,算法时间往往时间达到1s以上,对于一些快速检测场景而言,此方法需要进一步改进
算法加速
首先提取ROI区域
  1. reduce_domian
  2. crop_domian
复制代码
这样的话ROI区域变成了图像,整体图像尺寸进一步减小
另外,halcon提供了一个针对实值傅里叶变换的算子

  1. optimize_rft_speed (700,700, 'standard')
复制代码
  1. * 优化实值FFT的运行时间
  2. optimize_rft_speed (700,700, 'standard')
  3. *生成高斯滤波器,然后相减得到一个滤波器图像
  4. Sigma1 := 180.0
  5. Sigma2 :=0.5
  6. gen_gauss_filter (GaussFilter1, Sigma1, Sigma1, 0.0, 'none', 'rft',680, 680)
  7. gen_gauss_filter (GaussFilter2, Sigma2, Sigma2, 0.0, 'none', 'rft',680, 680)
  8. sub_image (GaussFilter1, GaussFilter2, Filter, 1, 0)
  9. *将图像傅里叶变换,生成一个复杂矩阵图像,to_freq正向转换
  10. rft_generic (ImagePart, ImageFFT, 'to_freq', 'none', 'complex', 680)
  11. *将傅里叶变换图像与滤波器图像卷积
  12. convol_fft (ImageFFT, Filter, ImageConvol)
  13. *将卷积后的傅里叶变换图像再次变换,from_freq反向转换
  14. rft_generic (ImageConvol, ImageFiltered, 'from_freq', 'n', 'real', 680)
  15. ****将灰度在0-255内拉伸变换
  16. scale_image_max (ImageFiltered, ImageScaleMax)
复制代码
傅里叶变换后的图像ImageFiltered并不是常用的灰度在0到255的byte型图像,需要使用scale_image_max转换成常用类型图像,以便后续进一步处理。

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表