所以我们知道randn会产生高斯噪声,让我们看看它是如何工作的。

>> some_number = randn();
>> disp(some_number);

运行后,我们得到0.76388。

再次运行它。我们得到另一个数字1.3958。

您可以将尺寸传递给randn以生成填充有随机数的矢量或矩阵。

假设我们想要一个五列1行向量。([1 5])

>> some_numbers = randn([1 5]);
>> disp(some_numbers);

运行后,我们得到:

每次我们运行它,我们得到不同的数字集。

正如您可能已经猜到的那样,我们也可以生成随机数的二维矩阵。

假设我们想要两行三列。([2 3]),由于这些是一堆随机数,我们称之为噪音。

>> some_number = randn([2 3]);
>> disp(some_number);

有趣的是,randn从高斯或随机正态分布中提取这些数字。因此,randn.A高斯分布中的n具有看起来像这样的概率分布函数。

randn的中心或平均值为零,标准差为1标准偏差是度量分布如何扩展的度量。

我提到这是一个概率分布,这意味着很可能找回接近零的数字,而远离零的数字则不太可能。

我们怎么知道randn实际上是从高斯分布中采样的呢?

好,如果我们有足够的样本并将它们分配到箱子中,并且我们计算了每个箱子中落入的数量,

那么我们将看到类似于概率分布函数的模式。

我们试试吧。

我们从一百个数字的向量开始怎么样?([1 100])

>> noise = randn([1 100]);
>> disp(noise);

我们不是直接显示数字,而是计算直方图。

>> noise = randn([1 100]);
>> [n, x] = hist(noise, [-3 -2 -1 0 1 2 3]);
>> disp([x; n]);

Hist函数:接受数字的向量或矩阵作为第一个参数,作为可选的第二个参数,您可以传入bin center。

假设我们希望中心是整数,从负3到正3。

Hist返回两个值:一个是我们想要的元素的数量,第二个是bin中心。

让我们以表格形式显示bin中心和列。

我们将创建一个小的临时矩阵,第一行是bin中心,第二行是统计数:

正如预期的那样,该中心的数量很高,而且两端的数量很少,实际上是零。

无论您运行多少次,都会看到相同的行为。

为了直观地表示正在发生的事情,我们如何绘制这些数字?

>> noise = randn([1 100]);
>> [n, x] = hist(noise, [-3 -2 -1 0 1 2 3]);
>> disp([x; n]);
>> plot(x, n)

我们使用plot函数:x轴将包含bin中心,计数将在y轴上。

运行代码,我们得到:

我们看到的东西类似于高斯概率分布。

为了得到更好的图像,我们需要更多的数字。

您可以使用linspace函数生成一系列均匀间隔的数字。

>> noise = randn([1 100]);
>> [n, x] = hist(noise, linspace(-3,3,7));
>> disp([x, n]);
>> plot(x, n);

在linspace函数,我们可以通过写-3到3,7不同的数字来替换这个向量,这包括零。

(技术点:linspace函数解析。例如:X=linspace(5,100,20) 为 产生从5到100范围内的20个数据,相邻数据跨度相同,

X = 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100。正如我们上面的代码:linspace(-3,3,7),所以

X = -3 -2 -1 0 3 2 1。)

让我们确保这和以前一样。

请注意,bin中心与预期相同。

现在我们可以轻松增加事件的数量。

>> noise = randn([1 100]);
>> [n, x] = hist(noise, linspace(-3,3,21));
>> disp([x; n]);
>> plot(x, n);

比如说,我们想要21个。

我选择奇数,因为我想把0包含在中间。

显示这么多的数字是没有用的,所以让我们注释一下,看看图是什么样子。

显然,我们沿着X轴有更好的分辨率,但是这些尖端是怎么回事?

我认为我们需要更多数据,让我们将矢量提升到1,000个数字。([1 1000])

现在你看到熟悉的钟形曲线慢慢浮现。

让我们进一步增加样本数量。

越来越明显。

除了randn之外,您还可以在Octave或MATLAB中找到其他随机数生成函数。例如:

Rand:它从均匀分布中抽样出来的;

Randi:生成随机整数。

可以随意玩这些功能。


——学会编写自己的代码,才能练出真功夫。

2.图像作为函数 | 生成高斯噪音_8相关推荐

  1. 2.图像作为函数 | 噪音概念、图像相减_7

    目录 噪音概念 图像差异 如果图像只是函数,那么我们可以对图像做一些我们可以对函数做的事情. 就像我们可以相加一样,你可以添加两个函数,对吧? 那么,我们可以添加两个图像. 噪音概念 我们将稍微介绍一 ...

  2. 二元函数图像生成器_GAN生成图像综述

    点击上方"CVer",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:YTimo(PKU EECS)   研究方向:深度学习,计算机 ...

  3. matlab 图像操作函数的详解

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

  4. Centernet 生成高斯热图

    写在前面的话 最近学校阳了,宿舍给封了,宿舍网络不好远程跑不了实验,随缘写一下对CenterNet源码的一个解读,之前写论文的那段时间留下来的工作,respect! 这个文章主要是对CenterNet ...

  5. 使用matlab生成高斯滤波模板_高斯滤波matlab及FPGA实现

    高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程.通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到. ...

  6. StyleGAN v1 :用于生成高质量图像数据的生成对抗方法

    StyleGAN是2018年的一篇文章,目前已经被TPAMI收录,该方法能够生成高质量的图像数据并且做到了高层特征可控,v1的主要工作在于设计了一个style-based生成器,其中包括了styles ...

  7. matlab对图像操作函数的详解(笔记1)

    matlab对图像操作函数的详解 一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.ti ...

  8. 高斯判别算法GDA(吴恩达机器学习c#实践,生成高斯模板显示同心圆马氏距离,一)

    首先实现P(x|y)=高斯函数(正态分布),即y是正态分布,是条件,我们把它还原到图像界面I(i,j)每一个像素,是结果. 这个实际就是生成高斯模板,我们前面有3*3的高斯生成算法,但是根本没有办法显 ...

  9. matlab图像取反_matlab对图像操作函数的详解

    一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2. imwrite i ...

最新文章

  1. 第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动6
  2. python中分支结构有几种各有什么特点_「武鹏有课」Python分支结构的种类
  3. python fuzzy c-means demo
  4. NTP客户端通过脚本一键配置
  5. Fabric架构演变之路 1
  6. error C3859: 超过了PCH的虚拟内存范围;请使用“-Zm33”或更大的命令行选项重新编译
  7. 最快60秒完成新冠病毒核酸对比 阿里云向社会免费开放基因计算服务
  8. Qt中焦点策略FocusPolicy的使用
  9. 如何查看光驱硬盘托架的尺寸_「二次利用」没想到废光驱电机还可以这样利用...
  10. 打造知识服务市场 知乎的变现之路
  11. 强化学习必知二要素:计算效率和样本效率
  12. 学生专用计算机负n次方问的按,学生专用计算器怎么开N次方
  13. AXI协议中的BURST
  14. 关于javaFx 操作串口 报错的问题~
  15. openwrt 无线基础知识介绍
  16. # 编译 qemu,libvirt, qemu rpm 包和 libvirt rpm 包
  17. 电影下载的TS TC版
  18. 计算机与小学教学联系论文,湖南自考本科论文从小学计算机教学实践谈学生“主体性”的发展 - 湖南自考生网...
  19. 【Ping命令的使用】
  20. matlab 2018b 下载 (for Windows/Linux/Mac)

热门文章

  1. 【nodejs原理源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
  2. java程序退出自动保存_你知道如何自动保存 Spring Boot 应用进程号吗
  3. Win10+TeXLive2021无法识别新安装字体解决方法
  4. 【李宏毅机器学习】Transformer(p23) 学习笔记
  5. poj 2421 ConstructingRoads 最小生成树 Prim、Kruskal
  6. 3==num VS num==3
  7. pagehelper工具类_PageHelper最佳实践
  8. jvm原理、启动时间、与编译器操作系统关系
  9. 设置DefaultHttpClient和HttpClient的超时时间的方法
  10. PHP操作常见的错误