OpenCV给图像添加噪声

news/2025/2/25 11:00:43
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

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

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

运行结果

在这里插入图片描述


http://www.niftyadmin.cn/n/5865415.html

相关文章

LCC并行光模块、PLCC并行光模块和POB并行光模块的区别

一、封装结构与材料差异 PLCC&#xff08;Plastic Leaded Chip Carrier&#xff09; 封装材料&#xff1a;采用塑料材质&#xff0c;引脚数量较多&#xff08;20-84个&#xff09;&#xff0c;引脚分布在四周12散热设计&#xff1a;通常通过PCB基板嵌装铜散热片提升散热性能8…

VMware17下Ubuntu22.04设置本地共享文件夹

VMware17下使用Ubuntu22.04设置共享文件夹 在日常的开发与学习中&#xff0c;我们常常需要在主机&#xff08;通常是Windows系统&#xff09;和虚拟机&#xff08;如Ubuntu 22.04&#xff09;之间进行文件交换。为了简化这一过程&#xff0c;VMware提供了共享文件夹的功能&…

小迪安全-24天-文件管理,显示上传,黑白名单,访问控制

上节课回顾&#xff0c;token问题 没有更新token值&#xff0c;造成了复用 加上这段代码就好了&#xff0c;就不会复用了 文件管理-文件上传 upload.html文件&#xff0c;找ai生成就行 uoload.php接受文件上传的信息 这里在写个临时文件存储换个地方 因为上面临时文件存在c盘…

EasyExcel 使用指南:基础操作与常见问题

文章目录 1. EasyExcel 简介2. 基础操作2.1. 写入 Excel &#x1f525;2.2. 读取 Excel ✅2.3. 使用模板 &#x1f3a8; 3. 常见问题与解决方案3.1. 处理日期格式 &#x1f4c5;3.2. 数据写入失败&#xff1a;占位符无法匹配 ❌3.3. 内存溢出&#xff1a;大数据量处理 ⚡3.4. 空…

抗干扰利器,光纤无人机技术详解

光纤无人机技术是将光纤通信技术与无人机技术相结合的创新技术&#xff0c;其在抗干扰方面展现出了显著的优势。以下是对光纤无人机技术的详细解析&#xff1a; 一、技术基础与原理 光纤无人机技术主要通过光纤作为高速、低延迟的数据传输媒介&#xff0c;实现无人机拍摄的高…

解锁健康密码,拥抱养生生活

在快节奏的现代生活中&#xff0c;人们愈发重视健康养生&#xff0c;追求身心的和谐与平衡。养生并非高深莫测的学问&#xff0c;而是融入日常生活的点滴智慧&#xff0c;从饮食、运动到心态&#xff0c;每一个选择都在为健康加分。 饮食是养生的基石。遵循 “五谷为养&#xf…

深入理解 CSS pointer-events: none:穿透点击的魔法

一、什么是 pointer-events: none&#xff1f; pointer-events: none 是一个强大的 CSS 属性&#xff0c;它控制元素是否响应鼠标/触摸事件&#xff08;如点击、悬停、拖拽&#xff09;。当设置为 none 时&#xff0c;元素会变得“透明”&#xff0c;事件会直接穿透到下方的元…

使用 Element Plus 的 `el-pagination` 组件与 Vue 3 实现分页功能

文章目录 前言1. 环境准备2. 使用 el-pagination 组件3. 代码解析4. 进一步优化5. 总结 前言 在现代 Web 开发中&#xff0c;分页功能是处理大量数据的常见需求。Element Plus 是一个基于 Vue 3 的 UI 组件库&#xff0c;提供了丰富的组件来简化开发流程。其中&#xff0c;el-…