Python Opencv实践 - 图像均值滤波

import cv2 as cv
import numpy as np
import matplotlib.pyplot as pltimg = cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)
print(img.shape)
pixel_count = img.shape[0] * img.shape[1]
print(pixel_count)#为图像添加椒盐噪声
#参考资料:https://blog.csdn.net/sinat_29957455/article/details/123977298
img_pepper_salt_noise = img.copy()
#椒盐噪声中盐(白点)和椒(黑点)的比例
salt_ratio = 0.5
pepper_ratio = 1 - salt_ratio
#噪点占图像像素比例
noise_ratio = 0.03
#添加salt噪声
num_salt = np.ceil(noise_ratio * pixel_count * salt_ratio)
#噪声添加位置
noise_locations = [np.random.randint(0, i - 1, int(num_salt)) for i in img.shape]
img_pepper_salt_noise[noise_locations[0],noise_locations[1],:] = [255,255,255]
#添加pepper噪声
num_pepper = np.ceil(noise_ratio * pixel_count * pepper_ratio)
noise_locations = [np.random.randint(0, i - 1, int(num_salt)) for i in img.shape]
img_pepper_salt_noise[noise_locations[0],noise_locations[1],:] = [0,0,0]#图像均值滤波
#cv.blur(src, ksize[, dst[, anchor[, borderType]]])
#src: 待处理图像
#ksize:kernel大小,比如(5,5)表示5x5的kernel
#参考资料:https://blog.csdn.net/hihell/article/details/112909678
img_blur = cv.blur(img_pepper_salt_noise, (3,3))#显示图像
fig,axes = plt.subplots(nrows=1, ncols=3, figsize=(15,15), dpi=100)
axes[0].imshow(img[:,:,::-1])
axes[0].set_title("Original");
axes[1].imshow(img_pepper_salt_noise[:,:,::-1])
axes[1].set_title("Salt And Pepper Noise");
axes[2].imshow(img_blur[:,:,::-1])
axes[2].set_title("Blurred");

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/100615.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“卷王”新茶饮们:从风口,卷到了十字路口

【潮汐商业评论/原创】 “楼下奈雪开业了,扫码9块9就可以喝到杨枝甘露,这也太便宜了,”Chloe向同事说道。 “上次跟Fendi联名的喜茶,两杯也只要38元。” “喜茶奈雪开始向二线价格靠拢?怎么都那么便宜了&#xff1f…

人工智能的螺旋式发展历程

人工智能的螺旋式发展历程 人工智能的历史自1956年开始至今,已经有66年的历史。世界人工智能历史可分为三个阶段,从1956年至1976年是人工智能的第一个发展阶段,1976年至2006年是第二个发展阶段,而2006年至今则是人工智能的第三个发…

3 个 ChatGPT 插件您需要立即下载3 ChatGPT Extensions You need to Download Immediately

在16世纪,西班牙探险家皮萨罗带领约200名西班牙士兵和37匹马进入了印加帝国。尽管印加帝国的军队数量达到了数万,其中包括5,000名精锐步兵和3,000名弓箭手,他们装备有大刀、长矛和弓箭等传统武器。但皮萨罗的军队中有100名火枪手,…

SprintBoot Bean管理

SpringBoot中获取Bean对象 下面这段代码在测试类中进行,下面通过三种方式获取bean对象。 import org.springframework.context.ApplicationContext;// 注意一定要引入上面的依赖SpringBootTest class TliasWebManagementApplicationTests {Testvoid getBeanTest(){…

最新AI系统ChatGPT网站程序源码/搭建教程/支持GPT4.0/Dall-E2绘画/支持MJ以图生图/H5端/自定义训练知识库

一、正文 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&#xff01…

python 基础篇 day 1 初识变量和数据类型

文章目录 变量变量作用——用于存储和表示数据。变量命名规则命名法大驼峰小驼峰下划体n j i a x 通常作为临时变量使用 建议 变量种类全局变量(Global Variables)局部变量(Local Variables)静态变量(Static Variables…

数据可视化diff工具jsondiffpatch使用学习

1.jsondiffpatch 简介 jsondiffpatch 是一个用于比较和生成 JSON 数据差异的 JavaScript 库。它可以将两个 JSON 对象进行比较,并生成一个描述它们之间差异的 JSON 对象。这个差异对象可以用于多种用途,例如: 生成可视化的差异报告应用差异…

基于Three.js的WebXR渲染入门

1、Three.js 渲染管线快速概览 我不会花太多时间讨论 Three.JS 渲染管道的工作原理,因为它在互联网上有详细记录(例如,此链接)。 我将在下图中列出基础知识,以便更容易理解各个部分的去向。 2、WebXR 设备 API 入门 在我们深入了解 WebXR API 本身之前,您应该知道 WebX…

【前端vue升级】vue2+js+elementUI升级为vue3+ts+elementUI plus

一、工具的选择 近期想将vuejselementUI的项目升级为vue3tselementUI plus,以获得更好的开发体验,并且vue3也显著提高了性能,所以在此记录一下升级的过程对于一个正在使用的项目手工替换肯定不是个可实现的解决方案,更优方案是基于…

docker实践作业

1.安装docker服务,配置镜像加速器 2.下载系统镜像(Ubuntu、 centos) 3.基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母) 4.容器的启动、 停止及重启操作 5.怎么查看正在运行的容器…

【MySQL】好好学习一下InnoDB中的页

文章目录 一. 前言二. 从宏观层面看页三. 页的基本内容3.1 页的数据结构3.2 用户空间内的数据行结构3.3 页目录 四. 问题集4.1 索引 和 数据页 有什么区别4.2 页的大小是什么决定的4.3 页的大小对哪些情况有影响4.4 一般情况下说的链表有哪几个4.5 如果页的空间满了怎么办4.6 如…

SecureBridge安全文件下载的组件Crack

SecureBridge安全文件下载的组件Crack SecureBridge包括SSH、SSL和SFTP客户端和服务器组件。它使用SSH或SSL安全传输层协议和加密消息语法来保护任何TCP流量,这些协议为客户端和服务器提供身份验证、强数据加密和数据完整性验证。SecureBridge组件可以与数据访问组件…

一文学会lua脚本

文章目录 0.前言背景应用 1. 学习大纲1. 学习基本语法:2. 理解函数和模块:3. 深入数据结构:4. 高级特性和技巧:5. 实践项目: 2. Lua脚本2.1 学习基本语法2.2 理解函数和模块2.3 深入数据结构2.4 高级特性和技巧 3. 高级…

分类预测 | MATLAB实现NGO-DBN北方苍鹰优化深度置信网络多特征输入分类预测

分类预测 | MATLAB实现NGO-DBN北方苍鹰优化深度置信网络多特征输入分类预测 目录 分类预测 | MATLAB实现NGO-DBN北方苍鹰优化深度置信网络多特征输入分类预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现NGO-DBN北方苍鹰优化深度置信网络多特征输入…

Eclipse如何设置快捷键

在eclopse设置注释行和取消注释行 // 打开eclipse,依次打开:Window -> Preferences -> General -> Key,

深入理解CAS和Atomic工具类

CAS CAS(Compare And Swap,比较交换)指的是对于一个变量,比较它的内存的值与期望值是否相同,如果相同则将内存值修改为新的指定的值。即CAS包括两个步骤:1.比较内存值与期望值是否相同;2.相同则…

kafka安装说明以及在项目中使用

一、window 安装 1.1、下载安装包 下载kafka 地址,其中官方版内置zk, kafka_2.12-3.4.0.tgz其中这个名称的意思是 kafka3.4.0 版本 ,所用语言 scala 版本为 2.12 1.2、安装配置 1、解压刚刚下载的配置文件,解压后如下&#x…

Pika Labs - 用AI工具生成短视频大片

今天我要跟大家分享如何用AI工具1分钟内生成一个短视频大片,效果完全不输影视大V。 只需要用一句话就可以生成视频,或者用一张图就能生成视频,这就是最新推出的AI工具Pika Labs!被网友誉为“全球最优秀的文本生成视频AI”。 目前…

如何使用CSS实现一个全屏滚动效果(Fullpage Scroll)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 实现全屏滚动效果的CSS和JavaScript示例⭐ HTML 结构⭐ CSS 样式 (styles.css)⭐ JavaScript 代码 (script.js)⭐ 实现说明⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦…

Oracle的学习心得和知识总结(二十七)|Oracle数据库数据库回放功能之论文一翻译及学习

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…