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;
}

运行结果

相关推荐
美林数据Tempodata6 小时前
高校工科专业转型工业数智方向:从六类岗位技术要求到课程模块的改造路径
人工智能·工业互联网·产教融合·课程改革
HUIBUR科技6 小时前
AI重塑企业数字化:从系统建设到价值盘活的全新变革
人工智能·ai
深频率6 小时前
6倍价格买8倍速度?GPT-6.1 Sol极速版的两个倍率
人工智能·gpt
Python测试之道6 小时前
GitHub 实战课|Playwright MCP:让 AI 真的会用浏览器
人工智能·github
揽秀亭长6 小时前
视频转脚本怎么处理更高效?四种工具的工作流程与适用场景分析
人工智能·音视频·语音识别
大虾别跑6 小时前
ai-daily-2026-10-10
人工智能
鲲穹AI种草6 小时前
小红书 AI 创作工具怎么选,多款工具实际使用情况整理
人工智能·文案创作
龙亘川6 小时前
城市运管服平台下综合办公数字化建设实践与思考
大数据·人工智能·智慧城市·开源软件·数据可视化
IT_陈寒6 小时前
Vue的数组更新把我坑惨了
前端·人工智能·后端
呆呆槑_Xiong7 小时前
2026年GEO优化服务商怎么选?从AI用户增长看企业品牌可见度
人工智能