Python+OpenCV批量给图片加噪声

这篇博客介绍了如何利用Python和OpenCV库批量给图像添加不同类型的噪声,包括椒盐噪声、高斯噪声和随机噪声。通过定义相应的函数,可以调整噪声比例和参数,实现对图像的噪声处理。最后,程序读取指定文件夹内的图片,应用噪声函数并保存处理后的图像到目标文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用python和opencv批量给图像加噪声(椒盐噪声、高斯噪声、随机噪声)

导入头文件

import os
import cv2
import numpy as np
import random

添加椒盐噪声

def sp_noise(noise_img, proportion):
    '''
    添加椒盐噪声
    proportion的值表示加入噪声的量,可根据需要自行调整
    return: img_noise
    '''
    height, width = noise_img.shape[0], noise_img.shape[1]#获取高度宽度像素值
    num = int(height * width * proportion) #一个准备加入多少噪声小点
    for i in range(num):
        w = random.randint(0, width - 1
### PythonOpenCV 实现图像去噪的方法 在计算机视觉领域,图像去噪是一个常见的预处理步骤。通过减少图像中的噪声干扰,可以提高后续算法的性能。OpenCV 提供了一个强大的函数 `cv2.fastNlMeansDenoisingColored()` 来执行彩色图像的降噪操作[^1]。 以下是完整的代码示例以及解释: #### 安装依赖库 为了运行下面的代码,请确保已安装所需的库: ```bash pip install opencv-python-headless matplotlib numpy ``` #### 使用 `cv2.fastNlMeansDenoisingColored` 去除彩色图像噪声 以下代码展示了如何载一张图片并对其进行去噪处理: ```python import cv2 import numpy as np import matplotlib.pyplot as plt # 载原始图像 img = cv2.imread('img.jpg') # 将BGR颜色空间转换为RGB以便于显示 rgb_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 调用fastNlMeansDenoisingColored进行去噪 dst = cv2.fastNlMeansDenoisingColored(rgb_img, None, 10, 10, 7, 21) # 显示原图和去噪后的效果对比 plt.figure(figsize=(10, 5)) plt.subplot(121), plt.title("Original Image"), plt.imshow(rgb_img) plt.subplot(122), plt.title("Denoised Image"), plt.imshow(dst) plt.tight_layout() plt.show() ``` 上述代码中使用的参数说明如下: - **h**: 彩色图像的空间域滤波强度,默认值通常设置为10。 - **hColor**: 颜色域滤波强度,一般取值与 h 相同或稍小一些。 - **templateWindowSize**: 搜索窗口大小,默认值为7。 - **searchWindowSize**: 进行估计时考虑的最大范围,默认值为21。 这些参数可以根据实际需求调整以获得最佳效果。 对于灰度图像,则可使用另一种方法 `cv2.fastNlMeansDenoising()`,其功能类似于前者但专用于单通道数据[^2]。 如果输入的是多张带噪声的图像列表形式的数据结构,在批量处理前可能还需要先将其裁剪至合理范围内再转成无符号整型数组格式保存下来作为最终结果输出给用户查看或者进一步分析计算等等过程都需要特别注意边界条件等问题以免造成程序崩溃等情况发生。
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值