当前位置: 首页 > news >正文

OpenCV给图像添加噪声

  • 操作系统: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;
}

运行结果

在这里插入图片描述

相关文章:

OpenCV给图像添加噪声

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 如果你已经有了一张干净的图像&#xff0c;并希望通过编程方式向其添加噪声&#xff0c;可以使用 OpenCV 来实现这一点。以下是一个简单的例子&a…...

湖北中医药大学谱度众合(武汉)生命科技有限公司研究生工作站揭牌

2025年2月11日&#xff0c;湖北中医药大学&谱度众合&#xff08;武汉&#xff09;生命科技有限公司研究生工作站揭牌仪式在武汉生物技术研究院一楼101会议室举行&#xff0c;湖北中医药大学研究生院院长刘娅教授、基础医学院院长孔明望教授、基础医学院赵敏教授、基础医学院…...

欢乐力扣:快乐数

文章目录 1、题目描述2、思路1代码 1、题目描述 快乐数。  编写一个算法来判断一个数 n 是不是快乐数。  快乐数定义为&#xff1a;对于一个正整数&#xff0c;每次不断将其转化成 每位数字的平方和。 判断是否最终和会为1&#xff0c;是1就是快乐数&#xff0c;否则不是。 …...

【聊天室后端服务器开发】功能设计-框架与微服务

服务器功能设计 微服务思想应用 微服务架构 主要组成分析 客户端 客户端通过 HTTP 协议与网关进行交互&#xff0c;进行操作如用户注册、好友申请等客户端只需要知道网关的地址&#xff0c;无需关心后端服务的具体实现 网关 作为系统的统一入口&#xff0c;网关负责接收客…...

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》&#xff0c;是国内视频行业最重要的国家标准&#xff0c;目前有三个版本&#xff1a; 2011 年&#xff1a;推出 GB/T 28181-2011 版本&#xff0c;为安防行业的前端设备、平…...

让网页“浪“起来:打造会呼吸的波浪背景

每次打开那些让人眼前一亮的网页时&#xff0c;你是否有注意到那些看似随波逐流的动态背景&#xff1f;今天咱们不聊高深的技术&#xff0c;就用最朴素的CSS&#xff0c;来解锁这个让页面瞬间鲜活的秘籍。无需JavaScript&#xff0c;不用复杂框架&#xff0c;准备好一杯咖啡&am…...

linux-多进程基础(1) 程序、进程、多道程序、并发与并行、进程相关命令,fork

程序是什么 程序是包含一系列信息的文件。这些信息描述了如何在运行时创建一个进程&#xff0c;包含二进制格式标识、机器语言指令、程序入口地址、数据、符号表及重定位表、共享库信息及其他信息 二进制格式标识&#xff0c;每个程序包含了描述可执行文件的元信息(是否可读之…...

美颜相机1.0

项目开发步骤 1 界面开发 美颜相机界面构成&#xff1a; 标题 尺寸 关闭方式 位置 可视化 2 创建主函数调用界面方法 3 添加两个面板 一个是按钮面板一个是图片面板 用JPanel 4 添加按钮到按钮面吧【注意&#xff1a;此时要用初始化按钮面板的方法initBtnPanel 并且将按钮添…...

Docker内存芭蕾:优雅调整容器内存的极限艺术

title: “&#x1f4be; Docker内存芭蕾&#xff1a;优雅调整容器内存的极限艺术” author: “Cjs” date: “2025-2-23” emoji: “&#x1fa70;&#x1f4a5;&#x1f4ca;” 当你的容器变成内存吸血鬼时… &#x1f680; 完美内存编排示范 &#x1f4dc; 智能内存管家脚本…...

gitlab初次登录为什么登不上去

今天又写了一次gitlab安装后&#xff0c;第一次登录的问题。 gitlab工作笔记_gitlab默认用户名密码-CSDN博客 因为又掉这个坑里了。 # 为什么第一次登录这么难&#xff1f; 第一是因为gitlab启动的时间很长&#xff0c;有时候以为装错了。 第二是初始密码&#xff0c;如果…...

单链表相关操作(基于C语言)

文章目录 单链表定义版本一(可自己选择是否含头节点)创建单链表打印单链表对单链表进行冒泡排序删除单链表中值为key的节点求单链表表长在单链表位序为i的位置插入新元素e 单链表定义 typedef struct node {int data;struct node* next; }LinkNode,*LinkList;版本一(可自己选择…...

SPRING10_SPRING的生命周期流程图

经过前面使用三大后置处理器BeanPostProcessor、BeanFactoryPostProcessor、InitializingBean对创建Bean流程中的干扰,梳理出SPRING的生命周期流程图如下...

从零到一学习c++(基础篇--筑基期十一-类)

从零到一学习C&#xff08;基础篇&#xff09; 作者&#xff1a;羡鱼肘子 温馨提示1&#xff1a;本篇是记录我的学习经历&#xff0c;会有不少片面的认知&#xff0c;万分期待您的指正。 温馨提示2&#xff1a;本篇会尽量用更加通俗的语言介绍c的基础&#xff0c;用通俗的语言去…...

Java String 类

Java String 类常用方法详解 在 Java 编程里&#xff0c;字符串操作十分常见&#xff0c;而 String 类作为 Java 标准库的核心类&#xff0c;用于表示不可变的字符序列。任何对字符串的修改操作都会返回一个新的字符串对象&#xff0c;不会改变原始字符串。本文将详细介绍 Str…...

P8665 [蓝桥杯 2018 省 A] 航班时间

P8665 [蓝桥杯 2018 省 A] 航班时间 题目代码分析 题目 代码 #include <iostream> #include <vector> #include <string> #include <algorithm> #include <math.h> #include <queue>#include <cctype> using namespace std; int t;…...

Vue3项目与pnpm使用教程

文章目录 Vue3项目与pnpm使用教程一、pnpm简介二、安装pnpm三、创建Vue3项目四、运行Vue3项目五、管理项目依赖六、配置pnpm七、使用pnpm的额外功能八、总结 Vue3项目与pnpm使用教程 一、pnpm简介 pnpm是一个高性能的Node.js包管理工具&#xff0c;相较于npm和yarn&#xff0…...

C++初阶——简单实现list

目录 1、前言 2、List.h 3、Test.cpp 1、前言 1. 简单实现std::list&#xff0c;重点&#xff1a;迭代器&#xff0c;类模板&#xff0c;运算符重载。 2. 并不是&#xff0c;所有的类&#xff0c;都需要深拷贝&#xff0c;像迭代器类模板&#xff0c;只是用别的类的资源&am…...

C/C++后端开发面经

字节跳动 客户端开发 实习 一面(50min) 自我介绍是否愿意转语言,是否只愿意搞后端选一个项目来详细谈谈HTTP和HTTPS有什么区别?谈一下HTTPS加密的具体过程&#xff1a; 非对称加密 对称加密 证书认证的方式 非对称加密是为了保证对称密钥的安全性。 对称…...

linux 编辑器

1.三种模式 2.图例 3.wq 4.光标的使用...

【事件驱动框架OSAL】二.消息的管理机制

OSAL消息管理机制 二、消息管理机制2.1 消息的数据结构2.2 消息内存分配2.3 消息的接收和销毁2.3 源码链接地址 二、消息管理机制 在上一篇文中提到&#xff0c;系统消息事件&#xff08;SYS_EVENT_MSG&#xff09;用于任务间传递数据&#xff0c;而消息队列是这种机制的基础&…...

腾讯游戏卡顿终结者:ACE-Guard限制器完全指南

腾讯游戏卡顿终结者&#xff1a;ACE-Guard限制器完全指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 腾讯游戏玩家们&#xff0c;你是否曾遇到这样的…...

别再死记硬背代码了!从‘简单计算器’题深入理解C++分支结构的本质与应用场景

从计算器案例看C分支结构&#xff1a;如何写出更优雅的条件判断 记得第一次参加信息学奥赛训练时&#xff0c;我对着OpenJudge平台上那道"简单计算器"题目发呆了半小时。不是不会写&#xff0c;而是在纠结到底该用switch还是if-else。这可能是每个C初学者都会遇到的…...

Unity3d终极SQLite集成指南:5分钟实现跨平台数据持久化

Unity3d终极SQLite集成指南&#xff1a;5分钟实现跨平台数据持久化 【免费下载链接】SQLite4Unity3d SQLite made easy for Unity3d 项目地址: https://gitcode.com/gh_mirrors/sq/SQLite4Unity3d 你是否曾为Unity项目中的数据存储而烦恼&#xff1f;面对复杂的数据库集…...

逆向入门实操:从APK到Unity工程资源,手把手教你用Apktool和AssetStudio分析竞品游戏

逆向工程实战&#xff1a;深度解析Unity手游资源架构与竞品分析方法 在移动游戏行业高度竞争的今天&#xff0c;理解竞品的技术实现细节已成为开发团队不可或缺的能力。作为手游开发者&#xff0c;我们常常需要透过APK文件这层"包装纸"&#xff0c;深入剖析对手游戏的…...

GHelper完整指南:3分钟掌握华硕笔记本轻量控制工具,彻底告别臃肿系统

GHelper完整指南&#xff1a;3分钟掌握华硕笔记本轻量控制工具&#xff0c;彻底告别臃肿系统 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephy…...

中兴光猫配置解密工具:突破运营商限制的终极网络管理指南

中兴光猫配置解密工具&#xff1a;突破运营商限制的终极网络管理指南 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 你是否曾因无法修改光猫的WiFi密码而烦恼&#xff1f…...

终极指南:如何使用LeetDown让旧iPhone重获新生

终极指南&#xff1a;如何使用LeetDown让旧iPhone重获新生 【免费下载链接】LeetDown a GUI macOS Downgrade Tool for A6 and A7 iDevices 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 还在为iPhone 5s或iPad 4升级后卡顿而烦恼吗&#xff1f;您的旧设备运行…...

JavaScript中闭包结合代理模式Proxy实现数据监听

JavaScript中用闭包配合Proxy实现数据监听的核心是&#xff1a;闭包封装私有状态&#xff08;如data副本、effects数组&#xff09;确保隔离&#xff0c;Proxy通过get/set拦截读写并触发依赖收集与更新&#xff0c;二者分工协作实现可控响应式。JavaScript中用闭包配合Proxy实现…...

一次由“TCP粘包-拆包”引发的网络通信故障

一次由TCP粘包拆包引发的网络通信故障 某金融交易系统在夜间批量处理时突然出现数据错乱&#xff0c;经过排查发现是TCP粘包拆包问题导致。这个看似基础却常被忽视的网络现象&#xff0c;竟让日均处理百万级交易的核心系统瘫痪了6小时。本文将深入剖析这次故障&#xff0c;揭示…...

OBS模糊插件终极指南:如何用obs-composite-blur实现专业级直播特效

OBS模糊插件终极指南&#xff1a;如何用obs-composite-blur实现专业级直播特效 【免费下载链接】obs-composite-blur A comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing. 项目地址: https://gitcode.com/gh_mir…...