【问题标题】:How to fix the random distribution in image while executing code number of times? [duplicate]如何在执行代码次数时修复图像中的随机分布? [复制]
【发布时间】:2016-03-07 10:18:23
【问题描述】:

我正在使用 matlab 软件并在其上进行与工作相关的图像处理。我对此有些困惑。我面临的问题如下:
我拍摄了图像并在其上添加了一些随机值的脉冲噪声。如下方式:

img=imread(a,'bmp');
ND=0.4; 
Narr = rand(size(img));
N = Narr;
    N(N>=ND)=0;
    N1 = N;
    N1 = N1(N1>0);
    Imn=min(N1(:));
    Imx=max(N1(:));
    N=(((N-Imn).*(255-0))./(Imx-Imn));
    img(Narr<ND) = N(Narr<ND);
    img;
Some code;

每次我在某些代码部分更改某些内容并运行它时,它都会给出不同的脉冲像素值。我想在多次运行代码时修复噪声分布。
最好的方法应该是什么?

【问题讨论】:

  • 我不是 MATLAB 专家,但 rand(size(img)) 正在生成一个随机数,这可以解释为什么您的噪声每次都不同。
  • 我正在添加随机噪声......但是一旦我添加了它。我不想在执行任意次数时更改脉冲噪声强度。
  • impulse noise intensity 对你意味着什么?

标签: matlab image-processing


【解决方案1】:

两个选项 -

  1. 在执行其余代码之前生成一次噪声,并始终使用相同的噪声数组。

  2. 在产生噪声之前,通过运行rng(seed) 来修复随机种子,其中seed 具有一些固定值

【讨论】:

    【解决方案2】:

    我对 Matlab 不是很熟悉,但在大多数编程语言中,您可以从随机数函数中获取随机数。他们每次都不一样。如果您想每次都必须使用种子值时获得相同的随机数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2021-05-18
      • 1970-01-01
      相关资源
      最近更新 更多