Генерация данных на неровном фоне - PullRequest
2 голосов
/ 07 мая 2010

Я хочу создать неровный фон, а затем сгенерировать некоторые тестовые данные для этого с помощью Matlab. Мне было непонятно, когда я задал этот вопрос ранее. Так что для этого простого примера

for i = 1:10  
for j = 1:10  
f(i,j)=X.^2 + Y.^2  
end  
end  

где X и Y уже определены, он наносит их на плоскую поверхность. Я не хочу искажать саму функцию, но я хочу, чтобы поверхность, на которую она выходит, была неровной, измененной в некоторой степени или чем-то еще. Я надеюсь, что это немного яснее.

1 Ответ

1 голос
/ 07 мая 2010

Вы создаете фон так же, как вы создаете сигнал, или передний план: используя функцию, которая применяет значение к каждому пикселю. Затем вы добавляете передний план к фону и все готово.

Функция NDGRID может быть полезна для вас.

Например, вы можете написать:

%# create x and y coordinates for every pixel in the image
[xx,yy] = ndgrid(1:10,1:10);

%# create foreground
foreground = xx.^2 + yy.^2;

%# create an angled background, where y = -10*x;
background = -xx*10;

%# show all
figure
subplot(1,3,1),imshow(foreground,[])
subplot(1,3,2),imshow(background,[])
subplot(1,3,3),imshow(foreground+background,[])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...