【图像处理】python | 给图像添加噪声 | random_noise

这篇具有很好参考价值的文章主要介绍了【图像处理】python | 给图像添加噪声 | random_noise。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、random_noise函数介绍

首先,我们看一下random_noise的构造:
【图像处理】python | 给图像添加噪声 | random_noise
floating-point image是浮点图的意思。**kwargs是关键字参数的意思,对这部分我也作一定的学习(之前不懂),改天写一个博客记录一下。它的作用:把多个关键字参数打包。

1.image:
【图像处理】python | 给图像添加噪声 | random_noise
输入的图像是n维数组,会转换为浮点型
2.mode:
【图像处理】python | 给图像添加噪声 | random_noise
除了高斯型,还有椒盐,泊松等等
3.关键字参数:
【图像处理】python | 给图像添加噪声 | random_noise
一些比较经典的,比如高斯噪声需要的均值,方差,就需要在这里设定
4.返回值:
【图像处理】python | 给图像添加噪声 | random_noise
最后返回的添加了噪声的n维数组

二、实际操作

首先,在使用前需要掉包:

from skimage.util import random_noise #添加噪声模块

skimage即是Scikit-Image,数字图像处理包

2.1.导入照片

这次我们用plt.imread来读取照片,读出来的格式直接就是ndarray的格式,格式为宽,高,通道;同时是uint8(8位无符号整数类型),范围在[0, 255],2的8次方是256(按照网上的说法,为了节省空间,图像存储一般用的uint8):

image=plt.imread('1.jpg');
print(type(image))  #图片种类
print(image.shape)  #打印图片大小
print(image.dtype)  #打印图片数据类型
plt.imshow(image)
plt.show()

imshow了之后 别忘了经典的show()永恒的经典
【图像处理】python | 给图像添加噪声 | random_noise
【图像处理】python | 给图像添加噪声 | random_noise
导入照片有好几种方式,有时间了我也写一篇博客总结一下

2.2.添加高斯噪声

代码如下(示例):

from skimage.util import random_noise #添加噪声模块
import matplotlib.pyplot as plt

image=plt.imread('1.jpg');
print(type(image))  #图片种类
print(image.shape)  #打印图片大小
print(image.dtype)  #打印图片数据类型
plt.subplot(2,2,1)
plt.title('origin')
plt.imshow(image)

noise_gaussian_1=random_noise(image,mode="gaussian",clip=True)
noise_gaussian_2=random_noise(image,mode="gaussian",var=0.1,clip=True)
noise_gaussian_3=random_noise(image,mode="gaussian",var=1,clip=True)

plt.subplot(2,2,2)
plt.title('var=0.01')
plt.imshow(noise_gaussian_1)
plt.subplot(2,2,3)
plt.title('var=0.1')
plt.imshow(noise_gaussian_2)
plt.subplot(2,2,4)
plt.title('var=1')
plt.imshow(noise_gaussian_3)
plt.show()

结果如下所示:
【图像处理】python | 给图像添加噪声 | random_noise
还是经典的方差越大,噪声越明显

2.3.添加椒盐噪声

这个还是有一点点复杂的:
【图像处理】python | 给图像添加噪声 | random_noise
【图像处理】python | 给图像添加噪声 | random_noise
变量名难得改了

from skimage.util import random_noise #添加噪声模块
import matplotlib.pyplot as plt

image=plt.imread('1.jpg');
print(type(image))  #图片种类
print(image.shape)  #打印图片大小
print(image.dtype)  #打印图片数据类型
plt.subplot(2,2,1)
plt.title('origin')
plt.imshow(image)

noise_gaussian_1=random_noise(image,mode="salt",amount=0.5,clip=True)
noise_gaussian_2=random_noise(image,mode="pepper",amount=0.5,clip=True)
noise_gaussian_3=random_noise(image,mode="s&p",amount=0.5,clip=True)

plt.subplot(2,2,2)
plt.title('salt')
plt.imshow(noise_gaussian_1)
plt.subplot(2,2,3)
plt.title('pepper')
plt.imshow(noise_gaussian_2)
plt.subplot(2,2,4)
plt.title('s&p')
plt.imshow(noise_gaussian_3)
plt.show()

【图像处理】python | 给图像添加噪声 | random_noise

2.4.对比

变量名难得改了

from skimage.util import random_noise #添加噪声模块
import matplotlib.pyplot as plt

image=plt.imread('1.jpg');
print(type(image))  #图片种类
print(image.shape)  #打印图片大小
print(image.dtype)  #打印图片数据类型
plt.imshow(image)
plt.show()

noise_gaussian_1=random_noise(image,mode="gaussian",var=0.1,clip=True)
noise_gaussian_2=random_noise(image,mode="salt",amount=0.5,clip=True)
noise_gaussian_3=random_noise(image,mode="pepper",amount=0.5,clip=True)
noise_gaussian_4=random_noise(image,mode="s&p",amount=0.5,clip=True)

plt.imshow(noise_gaussian_1)
plt.show()

plt.imshow(noise_gaussian_2)
plt.show()
plt.imshow(noise_gaussian_3)
plt.show()
plt.imshow(noise_gaussian_4)
plt.show()

原图:
【图像处理】python | 给图像添加噪声 | random_noise

高斯噪声图:
【图像处理】python | 给图像添加噪声 | random_noise

盐图:
【图像处理】python | 给图像添加噪声 | random_noise

椒图:
【图像处理】python | 给图像添加噪声 | random_noise
椒盐噪声图:
【图像处理】python | 给图像添加噪声 | random_noise
就是这个椒盐和我想象的有点不一样文章来源地址https://www.toymoban.com/news/detail-427620.html

到了这里,关于【图像处理】python | 给图像添加噪声 | random_noise的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

    提示:据说是科大讯飞的算法面试题 知道哪些噪声,分别用什么滤波器处理? 噪声来源灰常多,但主要可以分为三类: 1.来自捕捉源的(acquisition/digitization) ,比如一个摄像机的镜头、A/D或者sensor; 2.来自图像传输过程(image transmission), 传输图像的信道包括无线电、微波

    2024年02月05日
    浏览(48)
  • Matlab图像的噪声处理

    %%-------------------------Matlab图像的噪声处理------------------------- %-------------------头文件----------------------------- clc ; %清屏幕 clear ; %删除所有的变量 close all ; %将所有打开的图片关掉 %-----------------------添加噪声 imnoise()--------------------------- A = imread(\\\'1.jpg\\\') ; A1 = rgb2gray( A ) ; %彩图转灰度

    2024年02月09日
    浏览(45)
  • 数字图像处理:亮度对比度-几何变换-噪声处理

    亮度与对比度转换 图像变换可分为以下两种: 点算子:基于像素变换,在这一类图像变换中,仅仅根据输入像素值计算相应的输出像素值 邻域算子:基于图像区域进行变换 两种常用的点算子是用常数对点的像素值进行乘法或加法运算,可以表示为: g ( i , j ) = α ∗ f ( i ,

    2024年02月10日
    浏览(61)
  • 5-2图像处理经典案例:正弦噪声图像去噪

    学习目标:  图像处理经典案例  去除噪声   图像降噪的英文名称是Image Denoising, 图像处理中的专业术语。是指减少数字图像中噪声的过程,有时候又称为图像去噪。图像的噪声来源相对复杂,搞清楚图像噪声的成因对我们进行图像去噪的工作有帮助。因为对于满足某些数

    2024年02月12日
    浏览(39)
  • 计算机视觉学习笔记(图像的灰度与灰度级 图像的深度 图像噪声 图像处理)

    如果把白色和黑色之间按对数关系分为若干等级,称为灰度,灰度分为256阶,0为黑色,灰度就是没有色彩,RGB色彩分量全部相等(150,150,150)就代表灰度为150. 一幅图像中不同位置的亮度是不一样的,可用f(x,y)来表示(x,y)上的亮度。由于光是一种能量形式,因此亮度是非负

    2024年02月01日
    浏览(61)
  • 我在Vscode学OpenCV 图像处理二(滤除噪声干扰)

    图像平滑处理是一种用于减少图像噪声并模糊图像的技术,使图像更加清晰或者更容易进行其他图像处理操作的方法之一。 图像平滑处理的目标之一就是消除或减少这些噪声,使图像更清晰、更易于分析或更适合后续处理。不同的平滑技术可以在一定程度上模糊图像,从而有

    2024年02月05日
    浏览(46)
  • 计算机视觉--利用HSV和YIQ颜色空间处理图像噪声

    前言: Hello大家好,我是Dream。 今天我们将 利用HSV和YIQ颜色空间处理图像噪声 。在本次实验中,我们使用任意一张图片,通过 RGB转HSV和YIQ 的操作,加入了 椒盐噪声 并将其转 换回RGB 格式,最终实现对 图像的噪声处理 。一起来看看吧~ 首先,我们导入需要的库。包括numpy用

    2024年02月15日
    浏览(68)
  • Python图像处理实战:使用PIL库批量添加水印的完整指南【第27篇—python:Seaborn】

    在日常图像处理中,为图片添加水印是一项常见任务。有多种方法和工具可供选择,而今天我们将专注于使用Python语言结合PIL库批量添加水印。 需要注意的是,所选用的图片格式不应为JPG或JPEG,因为这两种格式的图片不支持透明度设置。 先前的文章已经详细介绍过PIL库,这

    2024年01月16日
    浏览(50)
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果

    目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果 一、简单介绍 二、简单给视频添加水印图片效果实现原理 三、简单给视频添加水印图片效果案例实现简单步骤 四、注意事项 Python是一种跨平台的计算机程序设计语

    2024年04月25日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包