数字图像处理—3代数运算

3.1        加法运算

  加法的通用表达式如式 C(x,y)=A(x,y)+B(x,y) 所示,其中,A(x,y)和B(x,y)为输入图像,C(x,y)为输出图像。假设当前存在某个静止场景的多幅图片集合,如果这些图片都被随机噪声干扰,那就可使用加法进行一定程度的去噪。

  同时,我们需明白以下代码的意思:

①def GaussianNoise(image, mean, var):
    noise = np.random.normal(mean, var ** 0.5, image.shape)
    noisy_image = image + noise
    noisy_image = np.clip(noisy_image, 0, 1)
    return noisy_image

该段代码定义了一个名为GaussianNoise的函数。该函数接受三个参数:

image:输入的图像。

mean:高斯噪声的均值,控制噪声的偏移程度。

var:高斯噪声的方差,控制噪声的分散程度。

np.random.normal用于生成符合高斯分布的随机数。其中,image.shape:指定生成的噪声数组的形状,使其与输入图像的形状相同,以确保后续能正确叠加到图像上。

np.clip用于将数组中的元素限制在指定的范围内。

②img.flags.writeable=True

img 代表一幅图像。img.flags 用于访问该数组的标志属性。writeable 是 flags 对象中的一个属性,它是一个布尔值。当 writeable 为 True 时,表示该数组是可写的,即你可以修改数组中的元素值;当 writeable 为 False 时,表示该数组是只读的,尝试修改数组元素会引发 ValueError 异常。

③k=np.zeros([img.shape[0],img.shape[1]])
    for i in range(100):
        j=GaussianNoise(img,0,0.05)
        k=k+j
    k=k/100

np.zeros([img.shape[0], img.shape[1]]) 会创建一个与输入图像 img 具有相同行数和列数的零矩阵 k。这个矩阵将用于累加每次添加高斯噪声后的图像。

j = GaussianNoise(img, 0, 0.05):调用 GaussianNoise 函数,将输入图像 img 加上均值为 0、方差为 0.05 的高斯噪声,得到加噪后的图像 j

k = k + j:将每次加噪后的图像 j 累加到矩阵 k 中。经过 100 次循环后,k 中存储的是 100 张加噪图像的像素值总和。

k=k/100:将累加后的矩阵 k 除以 100,得到 100 张加噪图像的平均值。由于高斯噪声是随机分布的,多次平均后噪声的影响会相互抵消,从而达到一定的去噪效果。 

④plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False

这两行代码用于设置全局参数,保证中文和负号能够被正确显示。第一句用于保证代码运行结果的中文能正常显示并使用黑体,第二句用于保证负号能正常显示。

代码及运行结果如图2.12所示。

图2.12
图2..12

3.2        减法运算

  减法表达式如式 C(x,y)=A(x,y)-B(x,y) 所示,又称差分运算。将同一景物不同时间拍摄的图像进行减法运算,,可以实现对该区域的动态监测等操作。

代码及运行结果如图2.13所示。

图2.13
图2.13

3.3        乘法运算

  乘法运算表达式如式 C(x,y)=A(x,y)×B(x,y) 所示。乘法运算能够实现灰度值的改变,达到修改图像亮度的目的。

  同时,我们需明白以下代码的意思:

cv2.multiply函数:它用于对输入的两个数组对应元素进行相乘操作。

代码及运行结果如图2.14所示。

图2.14
图2.14

3.4        除法运算

  除法运算表达式如式 C(x,y)=A(x,y)÷B(x,y) 所示。除法运算可以改变像素的灰度值,调整图像亮度。也能够用来校正成像设备的非线性影响,常在CT等医学图像中用到。

  同时,我们需明白以下代码的意思:

cv2.divide函数:此函数用于对输入的两个数组对应元素进行除法操作。

代码及运行结果如图2.15所示。

图2.15
图2.15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值