7.2 图像复原之空间滤波

算术平均滤波法 算术平均滤波法是一种简单有效的数字信号处理技术,可以帮助我们减少信号中的随机噪声。在本文中,我们介绍了如何使用 C++ 实现算术平均滤波法,并解释了算法的工作原理和代码细节。使用该算法可以对实时或离线的数据进行滤波处理,以提高数据质量和精度。 阅读详情

图像复原(只存在噪声的复原)之空间滤波



前言

当一幅图像仅被加性噪声退化时,其退化模型可简化为: g ( x , y ) = f ( x , y ) + η ( x , y ) G ( u , v ) = F ( u , v ) + N ( u , v ) \begin{aligned} &g(x,y)=f(x,y)+\eta(x,y) \\ &G(u,v)=F(u,v)+N(u,v) \end{aligned} ​g(x,y)=f(x,y)+η(x,y)G(u,v)=F(u,v)+N(u,v)​其中: g ( x , y ) [ 或 G ( u , v ) ] 表示退化后的图像 f ( x , y ) [ 或 F ( u , v ) ] 表示原图像 η ( x , y ) [ 或 N ( u , v ) ] 表示图像的噪声 \begin{aligned} &g(x,y)[或G(u,v)]\quad表示退化后的图像\\ &f(x,y)[或F(u,v)]\quad表示原图像 \\ &\eta(x,y)[或N(u,v)]\quad表示图像的噪声\\ \end{aligned} ​g(x,y)[或G(u,v)]表示退化后的图像f(x,y)[或F(u,v)]表示原图像η(x,y)[或N(u,v)]表示图像的噪声​由于噪声项通常是未知的,因此我们 不能 想当然的以为得到原图像的方式为: f ( x , y ) = g ( x , y ) − η ( x , y ) F ( u , v ) = G ( u , v ) − N ( u , v ) \begin{aligned} &f(x,y)=g(x,y)-\eta(x,y) \\ &F(u,v)=G(u,v)-N(u,v) \end{aligned} ​f(x,y)=g(x,y)−η(x,y)F(u,v)=G(u,v)−N(u,v)​对于只存在加性噪声的图像,可以使用空间滤波的方法来估计 f ( x , y ) f(x,y) f(x,y)

1. 均值滤波器

1.1 算术平均滤波器

算术平均滤波器是最简单的均值滤波器,与空间域滤波中的盒式滤波器完全相同。令: S x y 表示中心为 ( x , y ) 、大小为 m × n 的邻域 S_{xy}表示中心为(x,y)、大小为m\times n的邻域 Sxy​表示中心为(x,y)、大小为m×n的邻域则复原的图像 : f ^ ( x , y ) = 1 m n ∑ ( r , c ) ∈ S x y g ( r , c ) \hat{f}(x,y)=\frac {1} {mn}\sum_{(r,c)\in S_{xy}}g(r,c) f^​(x,y)=mn1​(r,c)∈Sxy​∑​g(r,c)用白话来说就是使用 ( x , y ) (x,y) (x,y) 的 m × n m\times n m×n 邻域的均值作为复原图像的像素值**均值滤波会降低图像的噪声,但是也会模糊图像**。

算术平均滤波器复原图像的代码实现如下:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


def imageRestoration(src, kernel):
    """
    图像复原-算术平均滤波器
    :param src: 需要复原的原图像
    :param kernel: 卷积核
    :return: 返回复原图像
    """
    img = cv.boxFilter(src, -1, kernel)  # cv2.boxFilter 方法 (默认normalize=True)
    return img


if __name__ == '__main__':
    img = cv.imread('Image/Fig0702.tif', 0)

    img1 = imageRestoration(img, (3, 3))
    img2 = imageRestoration(img, (9, 9))
    img3 = imageRestoration(img, (15, 15))

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(10, 10))
    titleList = ["Original Image", "3*3", "9*9", "15*15"]
    imageList = [img, img1, img2, img3]

    for i in range(4):
        plt.subplot(2, 2, i + 1), plt.title(titleList[i]), plt.axis('off')
        plt.imshow(imageList[i], vmin=0, vmax=255, cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

结果分析:
在这里插入图片描述
如上图所示:原图像是一张被加性高斯噪声污染的图像,其分别使用3*3、9*9、15*15的算术平均滤波器进行复原处理,可以看出虽然算术平均滤波器可以进行图像复原,但同时也会造成图像模糊。

1.2 几何均值滤波器

几何均值滤波器图像复原的公式如下,令:
S x y 表示中心为 ( x , y ) 、大小为 m × n 的邻域 S_{xy}表示中心为(x,y)、大小为m\times n的邻域 Sxy​表示中心为(x,y)、大小为m×n的邻域则复原的图像 : f ^ ( x , y ) = [ ∏ ( r , c ) ∈ S x y g ( r , c ) ] 1 m n \hat{f}(x,y)={\left[\prod_{(r,c)\in S_{xy}}g(r,c)\right]}^{\frac{1}{mn}} f^​(x,y)= ​(r,c)∈Sxy​∏​g(r,c) ​mn1​简单来说几何均值就是先求取中心点 ( x , y ) (x,y) (x,y) 的 m × n m\times n m×n 领域的像素之积,然后对像素之积求 1 m n \frac{1}{mn} mn1​ 次幂。

算术平均滤波器复原图像的代码实现如下:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

def ArithmenticMeanFilter(src, kernel):
    """
    图像复原-算数平均滤波器
    :param src: 需要复原的原图像
    :param kernel: 卷积核
    :return: 返回复原图像
    """
    img = cv.boxFilter(src, -1, kernel)  # cv2.boxFilter 方法 (默认normalize=True)
    return img


def GeometricMeanFilter(src, kernel):
    """
    图像复原-几何平均滤波器
    :param src: 原图像
    :param kernel: 卷积核的大小
    :return:
    """

    # 将图像转换为浮点数,以避免计算过程中出现溢出
    src = src.astype(np.float32) + 1e-10  # 防止取对数时出现零
    rows, cols = src.shape # 图像的大小

    # 进行几何平均值计算时,边缘像素会无法处理,因此需要对边缘像素进行填充
    pad_size = kernel // 2  # 边缘填充的大小
    padded_image = np.pad(src, pad_size, mode='reflect')  # 对边缘进行填充

    # 遍历图像每个像素,并计算几何均值
    output = np.zeros_like(src)
    for i in range(rows):
        for j in range(cols):
            # 获取邻域
            region = padded_image[i:i + kernel, j:j + kernel]
            # 计算邻域内像素的几何均值
            mean = np.exp(np.mean(np.log(region)))
            output[i, j] = mean

    # 计算出来的结果是浮点数,需要将浮点数转换为8位整数
    output = np.clip(output, 0, 255).astype(np.uint8)
    return output

if __name__ == '__main__':
    img = cv.imread('Image/Fig0702.tif', 0)

    img1 = ArithmenticMeanFilter(img, (3, 3))
    img2 = GeometricMeanFilter(img, 3)
    img3 = ArithmenticMeanFilter(img, (9, 9))
    img4 = GeometricMeanFilter(img, 9)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(30, 20))
    titleList = ["Original Image", "Arithmentic Mean Filter 3*3", "Geometric Mean Filter 3*3", "Original Image", "Arithmentic Mean Filter 9*9", "Geometric Mean Filter 9*9"]
    imageList = [img, img1, img2, img, img3, img4]

    for i in range(6):
        plt.subplot(2, 3, i + 1), plt.title(titleList[i]), plt.axis('off')
        plt.imshow(imageList[i], vmin=0, vmax=255, cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

结果分析:
在这里插入图片描述
如上图所示:原图像依旧是那张被加性高斯噪声污染的图像,其分别使用算术平均滤波器和几何平均滤波器进行复原处理,可以看出这两种滤波器都可以进行降噪处理,但是几何平均滤波器对图像的模糊效果要少一些,特别是当卷积核大的时候更加明显。

1.3 谐波平均滤波器

谐波平均滤波器图像复原的公式如下,令:
S x y 表示中心为 ( x , y ) 、大小为 m × n 的邻域 S_{xy}表示中心为(x,y)、大小为m\times n的邻域 Sxy​表示中心为(x,y)、大小为m×n的邻域则复原的图像 : f ^ ( x , y ) = m n ∑ ( r , c ) ∈ S x y 1 g ( r , c ) \hat{f}(x,y)=\frac{mn}{\sum_{(r,c)\in S_{xy}}\frac{1}{g(r,c)}} f^​(x,y)=∑(r,c)∈Sxy​​g(r,c)1​mn​简单解释一下。

  • 第一步:用 1 1 1 除以领域内每个像素的值,即 1 g ( r , c ) \frac{1}{g(r,c)} g(r,c)1​ 。
  • 第二步:对第一步的结果求和,即 ∑ ( r , c ) ∈ S x y 1 g ( r , c ) \sum_{(r,c)\in S_{xy}} \frac{1}{g(r,c)} ∑(r,c)∈Sxy​​g(r,c)1​。
  • 第三步:用 m n mn mn 除以第二步的结果。

谐波平均滤波器复原图像的代码实现如下:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


def ArithmenticMeanFilter(src, kernel):
    """
    图像复原-算数平均滤波器
    :param src: 需要复原的原图像
    :param kernel: 卷积核
    :return: 返回复原图像
    """
    img = cv.boxFilter(src, -1, kernel)  # cv2.boxFilter 方法 (默认normalize=True)
    return img


def GeometricMeanFilter(src, kernel):
    """
    图像复原-几何平均滤波器
    :param src: 原图像
    :param kernel: 卷积核的大小
    :return:
    """

    # 将图像转换为浮点数,以避免计算过程中出现溢出
    src = src.astype(np.float32) + 1e-10  # 防止取对数时出现零
    rows, cols = src.shape  # 图像的大小

    # 进行几何平均值计算时,边缘像素会无法处理,因此需要对边缘像素进行填充
    pad_size = kernel // 2  # 边缘填充的大小
    padded_image = np.pad(src, pad_size, mode='reflect')  # 对边缘进行填充

    # 遍历图像每个像素,并计算几何均值
    output = np.zeros_like(src)
    for i in range(rows):
        for j in range(cols):
            # 获取邻域
            region = padded_image[i:i + kernel, j:j + kernel]
            # 计算邻域内像素的几何均值
            mean = np.exp(np.mean(np.log(region)))
            output[i, j] = mean

    # 计算出来的结果是浮点数,需要将浮点数转换为8位整数
    output = np.clip(output, 0, 255).astype(np.uint8)
    return output


def HarmonicMeanFilter(src, kernel):
    """
    图像复原-谐波平均滤波器
    :param src: 原图像
    :param kernel: 卷积核的大小
    :return:
    """

    # 将图像转换为浮点数,以避免计算过程中出现溢出
    src = src.astype(np.float32) + 1e-10  # 防止取对数时出现零
    rows, cols = src.shape  # 图像的大小

    # 进行几何平均值计算时,边缘像素会无法处理,因此需要对边缘像素进行填充
    pad_size = kernel // 2  # 边缘填充的大小
    padded_image = np.pad(src, pad_size, mode='reflect')  # 对边缘进行填充

    # 遍历图像每个像素,并计算几何均值
    output = np.zeros_like(src)
    for i in range(rows):
        for j in range(cols):
            # 获取邻域
            region = padded_image[i:i + kernel, j:j + kernel]
            # 计算邻域内像素的几何均值
            mean = (kernel * kernel) / np.sum(1.0 / (region + 1e-10))  # 加上小值避免除零
            output[i, j] = mean

    # 计算出来的结果是浮点数,需要将浮点数转换为8位整数
    output = np.clip(output, 0, 255).astype(np.uint8)
    return output


if __name__ == '__main__':
    img = cv.imread('Image/Fig0702.tif', 0)

    img1 = ArithmenticMeanFilter(img, (3, 3))
    img2 = GeometricMeanFilter(img, 3)
    img3 = HarmonicMeanFilter(img, 3)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(20, 20))
    titleList = ["Original Image", "Arithmentic Mean Filter 3*3", "Geometric Mean Filter 3*3",
                 "Harmonic Mean Filter 3*3"]
    imageList = [img, img1, img2, img3]

    for i in range(4):
        plt.subplot(2, 2, i + 1), plt.title(titleList[i]), plt.axis('off')
        plt.imshow(imageList[i], vmin=0, vmax=255, cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

结果分析:
在这里插入图片描述
如上图所示:原图像依旧是那张被加性高斯噪声污染的图像,其分别使用算术平均滤波器、几何平均滤波器和谐波平均滤波器进行复原处理,可以看出这三种滤波器都可以对高斯噪声进行降噪处理。

1.4 反谐波平均滤波器

谐波平均滤波器图像复原的公式如下,令:
S x y 表示中心为 ( x , y ) 、大小为 m × n 的邻域 S_{xy}表示中心为(x,y)、大小为m\times n的邻域 Sxy​表示中心为(x,y)、大小为m×n的邻域则复原的图像 : f ^ ( x , y ) = ∑ ( r , c ) ∈ S x y g ( r , c ) Q + 1 ∑ ( r , c ) ∈ S x y g ( r , c ) Q \hat{f}(x,y)=\frac{\sum_{(r,c)\in S_{xy}}g(r,c)^{Q+1}}{\sum_{(r,c)\in S_{xy}}g(r,c)^{Q}} f^​(x,y)=∑(r,c)∈Sxy​​g(r,c)Q∑(r,c)∈Sxy​​g(r,c)Q+1​简单解释一下,式中:

  • Q Q Q 称为滤波器的阶数,这种滤波器适用于降低或消除噪声 。
  • Q Q Q 为正值时,该滤波器消除胡椒噪声。
  • Q Q Q 为负值时,该滤波器消除盐粒噪声。
  • 然而,该滤波器不能同时消除这两种噪声。
  • Q = 0 Q=0 Q=0 时,反谐波平均滤波器简化为算数平均滤波器。
  • Q = − 1 Q=-1 Q=−1时,反谐波平均滤波器简化为谐波平均滤波器。

反谐波平均滤波器复原图像的代码实现如下:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


def Inv_HarmonicMeanFilter(src, kernel, Q):
    """
    图像复原-反谐波平均滤波器
    :param src: 原图像
    :param kernel: 卷积核的大小
    :param Q: 滤波器的阶数
    :return:
    """

    # 将图像转换为浮点数,以避免计算过程中出现溢出
    src = src.astype(np.float32) + 1e-10  # 防止取对数时出现零
    rows, cols = src.shape  # 图像的大小

    # 进行几何平均值计算时,边缘像素会无法处理,因此需要对边缘像素进行填充
    pad_size = kernel // 2  # 边缘填充的大小
    padded_image = np.pad(src, pad_size, mode='reflect')  # 对边缘进行填充

    # 遍历图像每个像素,并计算几何均值
    output = np.zeros_like(src)
    for i in range(rows):
        for j in range(cols):
            # 获取邻域
            region = padded_image[i:i + kernel, j:j + kernel]
            # 计算分子和分母
            numerator = np.sum(np.power(region, Q + 1))
            denominator = np.sum(np.power(region, Q) + 1e-10)  # 加小值避免除零
            # 计算反谐波均值
            output[i, j] = numerator / denominator

    # 计算出来的结果是浮点数,需要将浮点数转换为8位整数
    output = np.clip(output, 0, 255).astype(np.uint8)
    return output


if __name__ == '__main__':
    pepperImg = cv.imread('Image/Fig0703.tif', 0)  # 胡椒噪声图像
    saltImage = cv.imread('Image/Fig0704.tif', 0)  # 盐粒噪声图像

    img1 = Inv_HarmonicMeanFilter(pepperImg, 3, 1.5)
    img2 = Inv_HarmonicMeanFilter(saltImage, 3, -1.5)

    # 当阶数取反,则会出现灾难性后果
    img3 = Inv_HarmonicMeanFilter(pepperImg, 3, -1.5)
    img4 = Inv_HarmonicMeanFilter(saltImage, 3, 1.5)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(20, 30))
    titleList = ["Original Pepper Image", "Original Salt Image", "Inv_Harmonic Mean Filter Q = 1.5",
                 "Inv_Harmonic Mean Filter Q = -1.5", "Q = -1.5", "Q = 1.5"]
    imageList = [pepperImg, saltImage, img1, img2, img3, img4]

    for i in range(6):
        plt.subplot(3, 2, i + 1), plt.title(titleList[i]), plt.axis('off')
        plt.imshow(imageList[i], vmin=0, vmax=255, cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

结果分析:
在这里插入图片描述
上图中第一和第二张图像分别是胡椒噪声图像和盐粒噪声图像,接下来使用了反谐波平均滤波器对图像进行了复原处理,可以看出效果相当不错,但是反谐波平均滤波器有一个缺点,就是必须要提前知道是胡椒噪声还是盐粒噪声,否则会出现上面第五、第六张图像的问题。


总结

滤波器类型定义适用噪声类型对噪声的处理效果保留图像细节的能力
算术平均滤波器对邻域内像素值求算术平均高斯噪声对高斯噪声效果较好易模糊边缘细节
几何平均滤波器对邻域内像素值求几何平均乘性噪声、对数噪声对高斯噪声效果一般能保留更多细节
谐波平均滤波器对邻域内像素值求倒数平均盐噪声(高亮噪声)抑制盐噪声效果好边缘保留较好
反谐波平均滤波器根据参数 Q Q Q 有选择性地去噪椒盐噪声(混合噪声)盐噪声或椒噪声(依赖 Q Q Q 值)灵活去噪能力强
计算机视觉(四):空间域滤波器 一、平滑空间滤波器1. 平滑线性滤波器(均值滤波器)2. 统计排序(平滑非线性)滤波器二、锐化空间滤波器1. 基础2. 拉普拉斯(Laplacian)算子3. 罗伯特交叉梯度(Roberts)算子4. Sobel算子三、彩色图像的平滑和锐化1. 彩色图像平滑2. 彩色图像锐化四、代码实现(Python+OpenCV)1. 去除盐粒噪声(图像产生随机白色像素点)2. 去除胡椒噪声(图像产生随机黑色... 阅读详情

相关推荐

基于MATLA的图像复原系统

基于MATLA的图像复原系统二、图像复原的基本概念图像在形成、传输和记录过程中,由于受到多种原因的影响,图像的质量就会有所下降,典型的表现为图像模糊、失真、有噪声等,这一过程称为图像的退化[5]。图像复原是试图利用退化过程的先验知识使已退化的图像恢复本来面目,即根据退化的原因,分析引起退化的环境因素,建立相应的数学模型,并沿着使图像降质的逆过程恢复图像[5]。目的在于消除或减轻在图像获取以及传输的...

m0_65908410的博客 1008

【OpenCV 例程200篇】96. 谐波平均滤波器

谐波平均滤波器既能处理盐粒噪声(白色噪点),又能处理类似于高斯噪声的其他噪声,但不能处理胡椒噪声(黑色噪点)

youcans的博客 4497

空间滤波-谐波平均滤波器

Sxy 指被滤波器处理的部分m n 代表kernel的size谐波平均滤波器既能处理盐粒噪声,又能处理类似于高斯噪声,但是不能处理胡椒噪声盐粒噪声salt : 是指灰度值突变成白色点的噪声(白色--->255)胡椒噪声pepper:是指灰度值突变成黑色点的噪声(黑色--->0)这里并不是特指0和255,是指相对突变的颜色书上介绍的就短短几句,下面是自己的理解。例如为什么不能处理胡椒噪声?假设图像包含胡椒噪声,也就是很多突变成黑色的点,这里取极端情况灰度值都为0的胡椒噪声。

Henry的博客 2369

算术平均滤波

算术平均滤波算法 应用场景 对于有近似正负偏差的随机干扰,算术平均滤波法可以有效滤除。也就是说待滤波的信号的特点是有一个平均值,信号在某一数值范围附近上下波动。 原理分析 连续采集N组数据,计算算术平均值,计算结果作为本次数据有效值 参考代码 typedef int filter_type; /*函数声明*/ filter_type filter(filter_type value_buf[], int num); /*算术平均滤波函数,num为value_buf[num]中元素个

yunshengbixiao的博客 3355

九、数字图像处理Matlab实验 第五章 图像复原与重建

本文是关于数字图像处理的Matlab实验教程,主要介绍了空间域和频率域的图像复原技术。文章详细列出了九种不同的图像复原方法,包括均值滤波器、中值滤波器、最大值/最小值滤波器、修正的阿尔法均值滤波器、自适应局部降低噪声滤波器、自适应中值滤波器、带阻滤波器和陷波滤波器。每种方法都提供了实验内容、文件目录结构、Matlab代码以及实验结果的图像展示,为读者提供了一个全面的学习资源。

weixin_44063529的博客 2263

如何下载era5数据?(两种方式)

供水利大数据云计算课程同学参考使用#

Camiel_sweet的博客 1万+

7.3 图像复原之空间滤波_2

在上一节中我们讲到了图像的退化模型以及图像复原之空间滤波中的均值滤波,这一节我们继续图像复原之空间滤波中的统计排序滤波器。统计排序滤波器是空间滤波器,其响应应基于滤波器所围邻域中的像素值的顺序,排序结果决定了滤波器的响应。滤波器类型去噪效果适用噪声类型优点缺点中值滤波器对椒盐噪声效果好主要是椒盐噪声对椒盐噪声有很好的去除效果,能保留边缘细节对高斯噪声去噪效果不如均值滤波,计算量较大最小值滤波器对椒盐噪声“椒”部分有效主要是椒盐噪声对椒盐噪声的“椒”部分有效,去亮点噪声。

专注图形图像处理 836

如何打开本地网络的防火墙端口(Windows版)解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。问题

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 最开始在遇到这个报错的时候十分不解,后来经过思考,有可能是服务器端口占用,或者并没有放行。因此搜查问题的关键是要先去排查问题。 在搜索栏输入控制面板 选择防火墙 选择开关 保证这些选项是开着的 选择高级设置 新建规则 创建协议端口 选择端口 允许连接 点击下一步 创建规则后点击下一步(后命名) 选择任意端口ALL即可 问题排查完毕!socket创建网络通信时,有读者

weixin_46900108的博客 9万+

【数字图像处理】图像复原

图像复原 图像复原是图像处理重要的研究领域。在成像过程中,由于成像系统各种因素的影响,可能使获得的图像不是真实景物的完善影像。图像在形成、传播和保存过程中使图像质量下降的过程,称为图像退化。图像复原就是重建退化的图像,使其最大限度恢复景物原貌的处理。 图像复原的概念与图像增强相似。但图像增强可以针对本来完善的图像,经过某一处理,使其适合于某种特定的应用,是一个主观的过程。图像复原的目的也是改善图像质量,但图像复原更偏向于利用退化过程的先验知识使已被退化的图像恢复本来面目,更多的是一个客观过程。 引起图像退化

weixin_44378835的博客 2万+

利用Docker Compose简化openGauss多节点容器化部署

本文详细介绍了如何利用Docker Compose简化openGauss多节点容器化部署,从环境准备到配置文件编写,再到集群部署与验证,提供了一套完整的解决方案。通过Docker Compose,原本复杂的手动部署流程被大幅简化,显著提升了部署效率和可靠性,特别适合企业级开源数据库的高可用架构需求。

weixin_30338481的博客 59

安卓直链APK安装拦截全解析:从Play Protect到厂商管控的应对指南

在移动应用分发领域,APK(Android Package)安装是开发者与用户交互的关键环节。其核心原理涉及安卓系统的安全沙箱机制与权限管理体系,旨在保护用户设备免受恶意软件侵害。这一机制的技术价值在于平衡了应用生态的开放性与安全性,但也在应用推广、企业内部分发等场景中带来了挑战。尤其在通过官网、广告等直链渠道分发APK时,常会遇到安装转化率骤降的问题。这背后主要受到Google Play Protect云端扫描、安卓系统安装权限模型演进(如Android 8.0+的安装源授权)以及设备制造商附加安全层(如

weixin_33894640的博客 467

图像处理1.频域滤波与空间域滤波比较

1频域滤波与空间域滤波比较 (1)空间域滤波简介 空间域滤波是在图像空间中借助模板对图像进行邻域操作,处理图像的每一个像素的取值都是根据模板对输入像素邻域内的像素值进行加权叠加得到的。空间域滤波是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变图像的频率分布。空间域滤波是应用模板卷积对图像每一个像素进行局部处理。 (2)频域滤波器简介 ...

weixin_39504171的博客 2万+

用逻辑分析仪实测EM4095:125kHz RFID耳标解码的电压与脉宽玄学

本文通过逻辑分析仪实测EM4095芯片,深入解析125kHz RFID耳标解码中的电压与脉宽关联现象。揭示了供电电压对曼彻斯特编码脉宽的影响规律,并提供了一套可落地的调试方法论,包括信号链路解析、逻辑分析仪配置技巧及系统级稳定性提升方案,帮助开发者解决解码不稳定问题。

weixin_30629653的博客 327

第五章:图像复原与重建

图像增强主要是一个主观过程,而图像复原则大部分是一个客观过程。图像复原试图利用退化现象的某种先验知识来复原被退化的图像。因而,复原技术是面向退化模型的,并且采用相反的过程进行处理,以便恢复出原图像。如上图所示。退化过程中可以被模型化为一个退化函数和一个加性噪声项,处理一幅输入图像f (x,y)产生一幅退化图像g(x, y)。给定g (x,y)和关于退化函数H的一些知识以及外加噪声项(x, y),图像复原的目的是获得关于原始图像的近似估计。我们先假设H是一个等同的运算符,并且只处理由噪声引起的退化。

qq_63029071的博客 2198

【零基础学习CAPL】——CAN报文的发送(CRC——ChecSum值)

本章主要介绍带有CRC值的报文发送一般报文可使用CANoe的IG模块直接发送,但带有CRC值的报文就只能编写脚本进行发送,以下详细讲解在配合Panel面板情况下,如何进行带有循环冗余码的报文进行报文的发送。

LOVE135149的博客 1909

【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)(附源码)

这篇文章我们将继续实现曲线射击与两种不需要实体子弹的射击方式 源码在文章末尾。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 5057

【youcans 的图像处理学习课】10. 图像复原与重建

图像复原是对图像退化过程建模,并以图像退化的先验知识来恢复退化的图像。 本文提供上述各种算法的完整例程和运行结果。 1. 安装与环境配置 2. 图像读取与显示 3. 图像的创建与修改 4. 图像的叠加与混合 5. 图像的几何变换 6. 灰度变换与直方图处理 7. 空间域图像滤波 8. 频率域图像滤波...

youcans的博客 2586

从0到1用OpenClaw打造酒店收益管理系统:数据整合→AI策略迭代全链路落地实战

本文基于三亚某连锁海景酒店真实项目落地经验编写,系统上线3个月,酒店平均入住率从62%提升至80%,RevPAR(平均可售房收入)提升26%,淡季空置率降低46%,完全覆盖中小酒店全场景收益管理需求。本文配套OpenClaw全量Skill代码、工作流配置文件,可直接复用落地。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 491

matlab数字图像处理:图像复原及重建--常见的噪声模型以及滤波方法

文章目录前言一、图像退化/复原过程的模型二、常见空间域噪声模型1.高斯噪声2.瑞利噪声3.伽马噪声4.指数噪声5.均匀分布噪声6.脉冲(椒盐)噪声三、图像中噪声判别四、空间滤波去噪1.算数均值滤波器及MATLAB代码2.几何均值滤波器及MATLAB代码3.谐波均值滤波器及MATLAB代码4.逆谐波均值滤波器及MATLAB代码5.中值滤波器及MATLAB代码6.最大值、最小值滤波器及MATLAB代码7.中点滤波器及MATLAB代码8.修正的阿尔法均值滤波器及MATLAB代码9.自适应局部降低噪声滤波器及MA.

刘燚的博客 6781

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数字图像处理——第五章 图像复原

文章目录图像复原1. 图像退化/复原过程的模型2. 噪声模型2.1 周期噪声2.2 噪声参数估计3 只有噪声存在的空间域图像恢复 图像复原 与图像增强相似,图像复原的目的也是改善给定的图像,但图像增强主要是一个主观的过程,而图像复原是一个客观的过程。图像复原试图利用退化现象的某种先验知识来复原被退化的图像。因而,复原技术是面向退化模型的,并且采用相反的过程进行处理,以便恢复出原图像。 1. 图像退化/复原过程的模型 退化过程可以被模型化为一个退化函数和一个加性噪声项,处理一幅输入图像f(x, y)产生一幅退

Flamingo的博客 4901

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数字图像处理——第五章 图像复原与重建

图像复原技术的主要目的是以预先确定的目标来改善图像。图像增强主要是一个主观过程,而图像复原则大部分是一个客观过程。图像复原试图利用退化现象的某种先验知识来复原被退化的图像。因而复原技术是面向退化模型的,并且采用相反的过程进行处理,以便恢复出原图像。

weixin_46002351的博客 1434

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

数字图像处理(三)图像复原(噪声生成,噪声滤波器,逆滤波,维纳滤波,有约束最小二乘恢复)

图像复原4.1.图像退化/复原处理的模型4.2.噪声模型4.2.1.用imnoise函数为图像添加噪声4.2.2.用给定分布产生空间随机噪声4.2.3.imnoise2函数为图像添加噪声:4.2.3.周期噪声4.2.4.估计噪声参数4.3.仅有噪声的复原-空间滤波4.3.1.空间噪声滤波器4.3.2.自适应空间滤波器4.4.通过频域滤波减少周期噪声4.5.退化函数建模4.6.直接逆滤波4.7.维纳滤波4.8.有约束的最小二乘法滤波4.9.利用露西-理查德森算法的迭代非线性复原4.10.盲去卷积4.11.来自

weixin_44566643的博客 4770

灰度图像复原——空间滤波——算术均值滤波器(Matlab)

%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-14.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1...

lengo的专栏 2576

图像复原原理及实现

图像复原原理及实现

Hello World 3万+

数字图像处理学习笔记9:图像复原及重建1(常见噪声及滤波方法、噪声判别方法)

文章目录前言一、图像退化/复原过程的模型二、使用步骤1.引入库2.读入数据总结 前言 图像增强处理是根据自己需要,按照主观要求去改善图像。图像复原则是一个客观的过程,将图像恢复到退化前的原图像。 一、图像退化/复原过程的模型 如上图所示,图像退化过程是对原图像用一个退化函数进行处理后加上一个加性噪声,退化后的图像为g(x,y)g(x,y)g(x,y)。对于退化后的图像,使用一个复原滤波器进行处理得到f(x,y)f(x,y)f(x,y) 二、使用步骤 1.引入库 代码如下(示例): import .

刘燚的博客 4748

数字图像处理第五章——图像复原与重建

图像中的噪声是随机的,其灰度值的统计特性可以用概率密度函数(PDF)或相应的累计分布函数(CDF)进行表征。自适应滤波器的性能要优于迄今为止讨论过的所有滤波器的性能。可以选择空域滤波的方法来复原图像,常见的空域滤波器有均值滤波器、中值滤波器、最大值滤波器、最小值滤波器、中点滤波器以及自适应滤波器等。滤波器在该区域中心任意一点(x, y)上的响应基于以下4个量: (a) g(x, y),带噪图像在点(x, y)上的值;,污染f(x,y)以形成g(x, y)的噪声的方差;表示z的均(平均)值,

qq_67725022的博客 1063
上一篇: 7.1 图像复原之图像的噪声
下一篇: 7.3 图像复原之空间滤波_2
Four o'clock
博客等级 码龄8年 305粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值