首页 > 技术 > 内容

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

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

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

在做图像模糊的时候最直接的想法就是在当前像素上取一个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()))
 编辑:黄飞

猜您喜欢


现代电子技术中,二极管作为重要的半导体器件,应用于电源管理、信号整流和开关电路等多个领域。随着科技的不断进步,碳化硅(SiC)二极管和快恢复二极管(FRD)逐渐...
2025-04-09 14:31:16
四端子电阻独特的测量准确性和的应用场景而受到青睐。作为行业内的佼佼者,台庆(TAI-TECH)在这一领域更是有着显著的地位。本文将为您详细介绍台庆(TAI-TE...
2019-02-25 20:15:32
电子元器件中,二极管是非常重要的器件,应用于整流、开关和保护电路等领域。根据不同的材料和结构,二极管可分为多种类型,其中肖特基二极管和普通二极管是最常见的两种。...
2025-04-10 14:31:09
贴片电阻上的515并非尺寸,而是表示其阻值。采用三位数字编码表示法,前两位数字51代表有效数字,最后一位数字5代表10的幂次方。因此,515表示的阻值为 51 ...
2024-11-29 10:25:35
硬度计是用于测量材料硬度的仪器,应用于金属、塑料、橡胶等领域。硬度是材料抵抗变形和磨损的能力,通常通过不同的测试方法进行评估,如布氏硬度、洛氏硬度和维氏硬度等。...
2011-04-26 00:00:00
潮湿环境中进行施工,确保照明电源的安全很重要。电流在湿气中传导性更强,这就要求我们特别注意施工环境中的电气安全。通常情况下,在这样的环境中,照明电源电压不应大于...
2024-09-23 00:00:00
贴片电阻上的标签标示了它的阻值和容差。由于体积小,无法像传统电阻一样直接印上数字,所以采用了一种更简洁的编码方式。最常见的编码方式是三位数代码。前两位数字代表阻...
2024-11-26 11:29:47
电阻器作为基础且关键的元件,有着着重要作用。随着工业技术的不断进步,防硫化电阻因其优异的性能被关注和应用。肇庆英达作为国内知名的电子元器件制造企业,其生产的防硫...
2021-05-11 09:54:58
合金电阻作为电子元器件中的重要组成部分,应用于各种电子设备中。其中,TOKEN(德键)作为知名的合金电阻品牌,凭借其优异的性能和稳定的品质,赢得了市场的高度认可...
2019-10-12 00:08:21
现代通信设备中,连接器的选择非常重要。RF-CONN_14.45X6MM_TM是一款广泛应用于无线通信、射频信号传输等领域的重要连接器。其独特的设计和高性能使其...
2025-03-07 07:43:55