OpenCV给图像添加噪声

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

如果你已经有了一张干净的图像,并希望通过编程方式向其添加噪声,可以使用 OpenCV 来实现这一点。以下是一个简单的例子,展示如何在现有图像上添加高斯噪声:

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

// 函数:给图像添加高斯噪声
void addGaussianNoise( Mat& src, Mat& dst, double mean = 0.0, double stddev = 25.0 )
{
    RNG rng( getTickCount() );  // 在这里初始化RNG对象
    Mat noise( src.size(), src.type() );
    rng.fill( noise, RNG::NORMAL, mean, stddev );  // 创建高斯噪声
    add( src, noise, dst );                        // 将噪声添加到原始图像
}

int main()
{
    // 加载一张干净的图像
    Mat src = imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", IMREAD_GRAYSCALE );
    if ( src.empty() )
    {
        cout << "Could not open or find the image!" << endl;
        return -1;
    }

    Mat noisyImage;
    addGaussianNoise( src, noisyImage );

    imwrite( "noisy_image_1.jpg", noisyImage );  // 保存带噪声的图像

    imshow( "Original Image", src );
    imshow( "Noisy Image", noisyImage );
    waitKey( 0 );

    return 0;
}

运行结果

相关推荐
AIGC方案16 分钟前
使用 OpenCV 进行视觉图片调整的几种常见方法
人工智能·opencv·计算机视觉
TMT星球19 分钟前
百度AI开发者大会:连发多款AI应用,覆盖AI数字人等热门赛道
人工智能·百度
极客智谷19 分钟前
Spring AI应用系列——基于DashScope平台的Chat应用
人工智能·后端
用户77853718369620 分钟前
小模型工具调用能力激活:以Qwen2.5 0.5B为例的Prompt工程实践
人工智能·后端
星云ai21 分钟前
2025年的营销趋势-矩阵IP
大数据·人工智能
Y1nhl24 分钟前
搜广推校招面经八十二
人工智能·pytorch·深度学习·机器学习·推荐算法·搜索算法
蹦蹦跳跳真可爱58925 分钟前
Python----深度学习(基于DNN的PM2.5预测)
人工智能·pytorch·python·深度学习·线性回归·dnn
IT古董28 分钟前
【漫话机器学习系列】226.测试集、训练集、验证集(test,training,validation sets)
人工智能
十贝29 分钟前
大模型对话风格微调项目实战——部署上线篇
人工智能
掘金詹姆斯29 分钟前
LangChain4j—人工智能服务 AIService(三)
java·人工智能