基于FPGA图像处理的高斯模糊实现

时间:2025-07-30  作者:Diven  阅读:0

高斯模糊(Gaussian Blur)是高斯低通滤波,可以过滤掉图像的高频部分,保留低频部分,对于去除高斯噪声非常有效果,常常被用于图像去噪中。

基于FPGA图像处理的高斯模糊实现

在做图像模糊的时候最直接的想法就是在当前像素上取一个3*3或者5*5的窗口,把窗口里面的数字相加再求一个平均,得到的均值作为新的当前像素的值,这也就是均值滤波。

高斯滤波认为窗口中的每个像素对当前像素的影响是不一样的,和当前像素越接近影响就越大。因此加权平均更加合理,相近的像素值权重就比较大,相远的权重就小。

在利用高斯滤波的时候首先需要去生成一个高斯核,二维高斯函数如下:

在计算每个像素值时,可以将其视为坐标的原点,这样可以将视为0,就可以简化二维高斯函数如下:

可以使用如下python代码来生成一个高斯核:

import cv2 as cvimport numpy as npsigma = 0.8kernel = np.zeros((3, 3))for i in range(-1, 2): for j in range(-1, 2): kernel[i + 1][j + 1] = 1.0 / (2 * np.pi * sigma * sigma) * np.exp(-((i * i + j * j) / (2.0 * sigma * sigma)))print(kernel)

在OpenCV中也提供了getGaussianKernel这个函数来获取一个高斯核,函数定义如下:

def getGaussianKernel(ksize, sigma, ktype=None)

第一个参数ksize代表高斯核的尺寸,这里会生成一个ksize*1的高斯核。

对于二维的高斯核生成方式如下:

import cv2 as cvimport numpy as npsigma = 0.8opencv_gaussian_kernel_x = cv.getGaussianKernel(3, 0.8)opencv_gaussian_kernel_y = cv.getGaussianKernel(3, 0.8)opencv_gaussian_kernel = opencv_gaussian_kernel_x * opencv_gaussian_kernel_y.Tprint(opencv_gaussian_kernel)

可以看到两者是不一样的,那是因为我们没有对我们自己写的求出来的高斯模板进行归一化。

然后对其进行归一化,使其权重相加的和为1

kernel = kernel / kernel.sum()print(kernel)

可见归一化后的结果就和OpenCV提供的函数计算出来的结果就一样了。

最后对齐转换为整数,左上角的数据变为1

kernel = np.int32(kernel / kernel[0][0])print(kernel)print("1/" + str(kernel.sum()))

这样就可以得到完整的高斯模板了。

完整的python代码如下:

import cv2 as cvimport numpy as npsigma = 0.8opencv_gaussian_kernel_x = cv.getGaussianKernel(3, 0.8)opencv_gaussian_kernel_y = cv.getGaussianKernel(3, 0.8)opencv_gaussian_kernel = opencv_gaussian_kernel_x * opencv_gaussian_kernel_y.Tprint(opencv_gaussian_kernel)kernel = np.zeros((3, 3))for i in range(-1, 2): for j in range(-1, 2): kernel[i + 1][j + 1] = 1.0 / (2 * np.pi * sigma * sigma) * np.exp(-((i * i + j * j) / (2.0 * sigma * sigma)))print(kernel)kernel = kernel / kernel.sum()print(kernel)kernel = np.int32(kernel / kernel[0][0])print(kernel)print("1/" + str(kernel.sum()))
 编辑:黄飞
猜您喜欢

合金贴片电阻2512是一种表面贴装型电阻器,因其尺寸为2.5mm x 1.2mm而得名。它体积小巧,性能稳定,广泛应用于各种电子产品中,从智能手机到汽车电子,都...
2024-11-26 11:29:35

热风预热台,您的创意灵感发源地。这款预热台采用高效热风技术,瞬间提升工作区域温度,让您的材料迅速达到最佳加工状态。不仅是工匠们的得力助手,更是设计师们的创意加速...
2013-09-13 00:00:00

《LED驱动电源设计100例》是一本专为电子工程师、科技爱好者,以及对LED技术感兴趣的普通读者量身打造的实用指南。这本书汇聚了多种创新设计案例,深入浅出地展示...
2024-06-13 00:00:00

高压DC/DC开关电源是一种将高压直流电转换为低压直流电的电子器件,在现代电子设备中是很重要的配件。从电动汽车到工业控制系统,从医疗设备到通信基站,高压DC/D...
2024-10-24 00:00:00

当今的电子世界中,开关电源IC芯片凭借其高效和可靠的功率转换性能,成为众多电子设备重要的核心组件。无论是个人电子产品、工业控制系统,还是可再生能源设备,开关电源...
2024-09-04 00:00:00

可调电阻作为电子元件中的重要组成部分,应用于电路调节和信号控制中。智宝(TEAPO)作为知名的电子元件制造商,其生产的可调电阻因质量稳定、性能优良而受到市场青睐...
2020-03-19 02:50:00


你是否想过,只需一根网线,就能同时传输数据和电力?以太网供电(Power over Ethernet,简称PoE)技术就能实现这一目标!这项技术正逐渐改变我们的...
2024-03-30 00:00:00

贴片电阻上的20k表示其阻值为20千欧姆。但如何判断实际的封装尺寸呢?通常,贴片电阻的大小用四位数字或三位数字代码表示,印在电阻本体表面。例如,0805、120...
2024-11-29 10:25:56

压敏电阻作为重要的浪涌保护元件,应用于各种电子设备中。PHYCOM(飞元)作为国内知名的压敏电阻制造商,其产品以高品质和稳定性赢得了众多客户的认可。市面上关于P...
2016-08-31 04:52:24