图像画面中的噪声,大致可以分为两类:高斯噪声和椒盐噪声。在这里,我们先看下图像中两种噪声各自的特征。

椒盐噪声:噪声幅值基本相同,但出现位置随机。

高斯噪声:图像中每一点都存在噪声,但幅值是随机分布的。

用matlab给一个图像加高斯噪声:

image=imread('E:\image\pepper.jpg');
[width,height,z]=size(image);
if(z>1)
    image=rgb2gray(image);
end
figure(2);
subplot(1,2,1);
imshow(image);
title('原图');
av=0;
std=0.1;
u1=rand(width,height);
u2=rand(width,height);
x=std*sqrt(-2*log(u1)).*cos(2*pi*u2)+av;
result1=double(image)/255+x;
result1=uint8(255*result1);

subplot(1,2,2);
imshow(result1);
title('加高斯噪声后');

加入椒盐噪声:

image=imread('E:\image\pepper.jpg');
[width,height,z]=size(image);
if(z>1)
    image=rgb2gray(image);
end
result2=image;
figure(2);
subplot(1,2,1);
imshow(image);
title('原图');
k1=0.1;
k2=0.3;
a1=rand(width,height)<k1;
a2=rand(width,height)<k2;
result2(a1&a2)=0;
result2(a1& ~a2)=255;
subplot(1,2,2);
imshow(result2);
title('加高斯噪声后');

用matlab给图像加高斯噪声和椒盐噪声(不调用imnoise函数)的更多相关文章

  1. 利用matlab给图像加高斯噪声

    I = imread('DSC_0034.JPG'); J = imnoise(I,'gaussian',0.20); figure, imshow(I), figure, imshow(J)

  2. 使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)

    在matlab中,存在执行直接得函数来添加高斯噪声和椒盐噪声.Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现. 代码: import numpy as np impo ...

  3. caffe 输入图像图像加高斯噪声

    这是在frcnn_data_layer的操作,即读图片的操作 if (param.gaussian_noise()) { CHECK(img.type() == CV_8UC3) << & ...

  4. opencv:图像去噪(椒盐噪声)

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  5. matlab 对图像操作的函数概览

    转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...

  6. MATLAB实现图像的代数运算

    目录 1.使用求补运算对各类图像进行处理 2.利用imlincomb函数将图像的灰度值放大1.5倍 3.利用imlincomb函数计算两幅图像的平均值. 4.图像的加法运算 5.利用imnoise函数 ...

  7. 机器学习进阶-图像金字塔与轮廓检测-图像金字塔-(**高斯金字塔) 1.cv2.pyrDown(对图片做向下采样) 2.cv2.pyrUp(对图片做向上采样)

    1.cv2.pyrDown(src)  对图片做向下采样操作,通常也可以做模糊化处理 参数说明:src表示输入的图片 2.cv2.pyrUp(src) 对图片做向上采样操作 参数说明:src表示输入的 ...

  8. [图像]用Matlab在图像上画矩形框

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图 ...

  9. DAY13 Matlab实现图像错切源代码

    Matlab实现图像错切源代码 %错切im=(imread('robot.jpg'));im1=rgb2gray(im);figure,imshow(im1);[row,col]=size(im1); ...

随机推荐

  1. centos 7 最小安装后 安装FTP服务器 vsftp

    1.首先查看下 系统配置 rpm -q ftp #肯定是没安装, 2.安装 vsftpd yum -y vsftpd 3.vim /etc/vsftpd/vsftpd.conf anonymous_e ...

  2. java多线程sleep和wait方法的区别

    分别创建了三个类,一个测试类,两个线程类实现Runnable接口. 当有notify()唤醒线程时,执行的结果如下: 当把TestSleepaWait.class.notify();语句注释后,即没有 ...

  3. TCON板新选择--NCS8807 LVDS转mLVDS芯片

    NCS8807 LVDS-to-mLVDS w/ Scaler (4K TCON w/ Scaler) General Description NCS8807 is an LVDS 4K TCON w ...

  4. C++ 用lambda代替 unique_ptr 的Deleter

    C++ 用lambda代替 unique_ptr 的Deleter 代码 #include <iostream> #include <cstdlib> #include < ...

  5. html+css手记

    ----------------------html定义和基本结构---------------------- HTML是 HyperText Mark-up Language 的首字母简写,意思是超 ...

  6. [js高手之路]深入浅出webpack教程系列5-插件使用之html-webpack-plugin配置(中)

    上文我们讲到了options的配置和获取数据的方式,本文,我们继续深入options的配置 一.html-webpack-plugin插件中的options除了自己定义了一些基本配置外,我们是可以任意 ...

  7. 前端开发【第4篇:JavaScript基础】

    JavaScript简述 上一篇文章已经聊过JavaScript的历史了这里不再复述了直接切入正题,JavaScript是一门解释型.动态类型.弱类型语言. 解释型语言和编译型语言就类似看一本书,编译 ...

  8. Linux — 用户组、权限

    Linux 用户组分为:所有者.所在组.其他组 所有者:谁创建,谁是所有者.命令:ls -al 所在组:当创建文件或者文件夹时,这个文件或者文件夹所分配到的用户组,这样就会有效地隔离文件. 其他组:和 ...

  9. Assert中的静态方法

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类. 1.assertTrue/False([String message,]boolean cond ...

  10. vmware 遇到 “无法打开内核设备 \\.\Global\vmx86” 解决

    问题描述:vmware没有正常关闭,再次打开使用时蓝屏,在安全模式下再次打开不会蓝屏,但提示"无法打开内核设备 \.\Global\vmx86: 系统找不到指定的文件,你想要安装VMware ...