Smooth data with correlation

3 visualizzazioni (ultimi 30 giorni)
Gregoose
Gregoose il 25 Set 2019
Risposto: Gregoose il 30 Set 2019
Hello all,
I need to create a file containing random numbers (let's say on a 64x64 grid) and then smooth the data to create a correlated function with an arbitrary correlation distance L. I basically need to create something like this :
Random_correlated_data.png
The random grid is easily created using
random_grid = (b-a).*rand(64,64) + a;
[a,b] being the interval in which the random numbers are generated.
  • I have trouble finding a way to smooth the data that creates bumps on the surface that have the desired size;
  • If i also could control the maximum local slope that'd be top tier.
Does anyone know a way to do this ? Thanks !

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 25 Set 2019
Modificato: KALYAN ACHARJYA il 25 Set 2019
data_image=randi(255,64,64);
% Smooth the image as per your requirements
% or Bluring the image see the fspecial documentation
h=fspecial('average',3);
data_result=imfilter(data_image,h);
image(data_result);
colorMap=jet(256);
colormap(colorMap);
colorbar;
Detail fspecial here
4567.png
Similar question answer see here (@Image Analyst)
Also check with
h=fspecial('motion',some_value,some_value);
Hope it helps!

Più risposte (1)

Gregoose
Gregoose il 30 Set 2019
Thanks for your answer, I'll now have to play with the kernel size/type to fit my needs, as well as the edges !

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Prodotti


Release

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by