Halcon中值滤波,均值滤波,高斯滤波

均值滤波(一般用来消除高斯噪声

创建一个高斯核

参数1为σ 值越大高斯噪声越多

gauss_distribution( 9 ,Distribution)

添加到图片上

add_noise_distribution( Image , ImageNoise , Distribution)

参数3 4 是滤波核, 建议使用奇数矩阵核,值越小越清晰

mean_image(ImageNoise , ImageMean , 9, 9)

中值滤波(一般用来消除椒盐噪声)

生成椒盐噪声

参数1 2 椒与盐的百分比

sp_distribution(5 ,5 ,Distribution1)

添加到图片上

add_noise_distribution(GrayImage , ImageNoise1 , Distribution1)

中值滤波

参数3 采用的滤波核形状

参数4 圆的半径或者正方形的边长

参数5 边界像素的处理方式

如果是'mirrored' 超出的边界部分会复制周边的像素灰度值

如果是'cyclic' 循环利用,超出的边界部分恢复至对侧的灰度值

median_image(ImageNoise1 , ImageMedian ,'square' , 2 , 'mirrored'

高斯滤波

使用高斯滤波的过程:

1创建高斯核,

2 通过傅里叶转换,把空域下单个图片转成频域下的图片

3 在频域下使用高斯滤波,

4把频域下的图片转成空域下的图片

创建高斯噪声

gauss_distribution(200 , Distribution)

add_noise_distribution(Image , ImageNoise , Distribution)

1 创建高斯核

参数1 输出的高斯滤波图片

参数2 高斯平滑的程度,值越大,核越小

参数3 高斯平滑数值方向的平滑程度,值越大,核越小

参数4 滤波核旋转角度

参数5 计算出来的灰度值是否采用归一化处理,'none':不采用 'n':采用

参数6 'dc_center'从中间向四周发散,'dc_edge'从四周向内发散,'rft'从一边发散

*参数7 8 生成图像大小

gen_gauss_filter(ImageNoise ,1 ,1 ,0 , 'n' , 'rft' , Width ,Height)


2通过傅里叶转换,把空域下的图片转成频域下的图片

参数1 高斯噪声图

参数3 'to_freq' 傅里叶正向转换 把空域下的图片转成频域下的图片

参数4 是否需要被转化之后的值进行处理,'sqrt'开放,'none'不处理

参数5 转成的图片是什么类型,'complex'复数 既有实数类型又有虚数部分

参数6 宽度

rft_generic( ImageNoise , ImageFFT , 'to_freq' , 'none' , 'complex' ,Width)
3在频域下使用高斯滤波

参数1 传入的频率图

参数2 传入的过滤核

convol_fft(ImageFFT , ImageGauss , ImageConvol)
4把频域下的图片转成空域下的图片

*from_freq' 傅里叶逆转换,把频域图转成空域图

rft_generic (ImageConvol, ImageFFT1, 'from_freq', 'none', 'byte', Width)

相关推荐
kisshyshy1 小时前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
猿人谷8 小时前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络9 小时前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络10 小时前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao40010 小时前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao40010 小时前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法
JieE2122 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2123 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack203 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树3 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色