Halcon 赃污检测(高斯滤波图,傅里叶变换,灰度差过滤)

这篇具有很好参考价值的文章主要介绍了Halcon 赃污检测(高斯滤波图,傅里叶变换,灰度差过滤)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

资源

链接:https://pan.baidu.com/s/1PCam-4jnNOtBOixrK6Gdhw
提取码:bkqd

图片

halcon 高斯滤波,Halcon,计算机视觉

代码

* 1.读取并显示图片 *************************************
dev_close_window ()
read_image (Image, './img.bmp')
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle)
dev_display (Image)

set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_line_width (3)

* 2.预处理图片 *****************************************
rgb1_to_gray (Image, GrayImage)

* 3.生成高斯滤波图 *************************************
sigma1 := 30.0
sigma2 := 5.0
gen_gauss_filter (ImageGauss1, sigma1, sigma1, 0, \
                  'none', 'rft', Width, Height)
gen_gauss_filter (ImageGauss2, sigma2, sigma2, 0, \
                  'none', 'rft', Width, Height)
* 高斯滤波图相减
sub_image (ImageGauss1, ImageGauss2, ImageFilter, 1, 0)

* 4.傅里叶变换 *************************************
* 图片转为频域图
rft_generic (GrayImage, ImageFFT, 'to_freq', 'none', 'complex', Width)
* 频域图做卷积处理(使用高斯滤波图)
convol_fft (ImageFFT, ImageFilter, ImageConvol)
* 频域图片转换为 领域图(实数)
rft_generic (ImageConvol, ImageFiltered, 'from_freq', 'n', 'real', Width)

* 5.提升对比度、连通域分析********************************
* 实数图片 ==> 0-255, 小于0赋值为0, 大于255赋值为 255
scale_image_range (ImageFiltered, ImageScaled, 0, 255)
threshold (ImageScaled, Region, 1, 255)
connection (Region, ConnectedRegions)

* 6.筛选 外框距离过滤********************************
* 获取外边框
get_domain (GrayImage, Domain)
boundary (Domain, RegionBorder, 'inner')
* 计算与外边框距离筛选区域(距离 > 1)
select_shape_proto (ConnectedRegions, RegionBorder, SelectedRegions, \
                    'distance_contour', 1, 9999)

* 7.筛选 内外灰度差过滤********************************
* 计算区域外部环状区域
dilation_circle (SelectedRegions, RegionDilation, 8.5)
difference (RegionDilation, SelectedRegions, RegionDifference)

* 计算区域外部 平均灰度值
gray_features (RegionDifference, GrayImage, 'mean', ValuesOut)
* 计算区域内部 平均灰度值
gray_features (RegionDilation, GrayImage, 'mean', ValuesInsider)

* 灰度差阈值
BackGrayValue := 0.8
* 灰度差
GrayDiff := (ValuesOut - ValuesInsider) 
* 差值转换为 [-11....]的数组  大于0.8=1 小于0.8=-1
SgnFilter := sgn(GrayDiff - BackGrayValue)  
* 元组筛选 获取SgnFilter元组中1 的索引列表
tuple_find (SgnFilter, 1, Indices)
* 使用索引列表 筛选出区域(均值小于 > 0.8的区域)
select_obj (SelectedRegions, ObjectSelected, Indices+1)

* 8.显示结果 *****************************************
dev_display (Image)
dev_display (ObjectSelected)

结果

halcon 高斯滤波,Halcon,计算机视觉文章来源地址https://www.toymoban.com/news/detail-536485.html

到了这里,关于Halcon 赃污检测(高斯滤波图,傅里叶变换,灰度差过滤)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 傅里叶级数和傅里叶变换之间的关系推理及应用

    傅里叶级数和傅立叶变换是傅里叶分析的两个主要工具,它们之间有密切的关系。 傅里叶级数是将一个周期函数分解为一系列正弦和余弦函数的和。它适用于周期性信号,可以将周期函数表示为一组振幅和相位不同的谐波分量的和。傅里叶级数展示了一个周期函数在不同频率

    2024年02月07日
    浏览(26)
  • 傅里叶变换

    在计算机视觉中,有一个经典的变换被广泛使用——傅里叶变换。傅里叶变换是将时间域上的信号转变为频率域上的信号,进而进行图像去噪、图像增强等处理。 什么是时域(Time domain)?从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会

    2024年02月03日
    浏览(20)
  • 图傅里叶变换

    目录 什么是图信号? 如何理解图信号的”谱“? 图傅里叶变换是什么? 图傅里叶变换中特征值和图信号的总变差有什么关系? 让我们先总结一下,我们想要把图信号  正交分解到一组基  上; 那么怎么得到?可以通过对图的拉普拉斯矩阵 做特征分解得到,即. 于是   

    2024年02月06日
    浏览(16)
  • 【高数+复变函数】傅里叶变换

    上一节 【高数+复变函数】傅里叶积分 回顾:上一节中主要讲了Fourier积分公式的指数形式及其三角形式 f ( t ) = 1 2 π ∫ − ∞ + ∞ [ ∫ − ∞ + ∞ f ( τ ) e − j ω τ d τ ] e j ω t d ω = 1 π ∫ 0 + ∞ [ ∫ − ∞ + ∞ f ( τ ) cos ⁡ ω ( t − τ ) d τ ] d ω f(t)=frac{1}{2pi}int_{-infty}^{+inf

    2024年02月04日
    浏览(18)
  • 图像的傅里叶变换

    先向大家道歉啊   作为基础知识这内容肯定有人写过   但作为屌丝没时间搜这个出处   也没什么商用价值 就是为了自己好看  收藏不好用 麻烦选别的   真的对不起就是为自己   烦请勿扰   看不惯你了 忍着 傅里叶基础 法国数学家吉恩·巴普提斯特·约瑟夫·傅里叶被

    2023年04月27日
    浏览(23)
  • 【scipy 基础】--傅里叶变换

    傅里叶变换 是一种数学变换,它可以将一个函数或信号转换为另一个函数或信号,它可以将时域信号转换为频域信号,也可以将频域信号转换为时域信号。 在很多的领域都有广泛的应用,例如信号处理、通信、图像处理、计算机科学、物理学、生物学等。 它最大的功能是能

    2024年02月06日
    浏览(16)
  • 通俗讲解傅里叶变换

    参考:六一礼物:给孩子解释什么是傅里叶变换 牛!不看任何数学公式来讲解傅里叶变换  如何直观形象、生动有趣地给文科学生介绍傅里叶变换? - 知乎 从基说起…… 从数学的角度,提供一个形象有趣的解释。理解傅里叶变换的钥匙是理解基♂,它能让你重新认识世界。

    2024年02月09日
    浏览(12)
  • 傅里叶变换与Matlab

      很多初学者学习了傅里叶变换之后,只是对其公式死记硬背,从而达到做题的目的,但并不理解其原理,对于很多时频分析问题的理解不够透彻。之前自己也是如此,在经过深入学习之后,对变换公式的的本质进行探讨,理解变换的原理及意义所在,同时将傅里叶变换和

    2024年01月20日
    浏览(22)
  • matlab快速傅里叶变换

    快速傅里叶变换(FFT)是数字信号处理中常用的算法之一,可以用于信号分析、滤波、频率估计和信号生成等。在 Matlab 中,快速傅里叶变换是一个重要的工具,可以快速地计算信号的频域表示,帮助研究人员更好地理解和分析信号。本文将介绍 Matlab 中的快速傅里叶变换及其

    2024年02月09日
    浏览(15)
  • 快速傅里叶变换——FFT

    1·为什么要进行傅里叶变换 傅里叶变换——进行信号的分解过程 时域信号——分解成一系列频率下的正弦//余弦信号(两者在相位上有所不同),一般情况下可以统称为正弦信号。  上图表示了傅里叶的变化过程。对于时域的信号,可以将其分解成一系列频域下的正弦信号,

    2024年02月10日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包