2011-03-28 72 views
0

例如,我的屏幕尺寸爲1024x768。而且,我的每張圖片都是150 x 250,總共有4張圖片。我如何隨機化這些圖像以顯示在屏幕上的不同位置?使用matlab的混洗圖像

+0

http://www.mathworks.com/help/techdoc/ref/randperm.html可能會有用。 – 2011-03-29 18:00:56

回答

0

你想要什麼? 這是:

  • 保持4米預定義空的地方,每個4圖像的分配給隨機一個空位置,
  • 或者只是隨機放置在屏幕上?

想法是顯示圖像並保留每個圖形對象(H1,H2,H3,H4)的句柄。理想的做法是將它們存儲在句柄列表H中。 對於第一個想法,將每個空白位置的左上角位置存儲在4個條目列表POS中。 做一個連接列表LC LC [i] = j返回POS中的索引,在那裏找到句柄H [i]的位置。 例如,如果LC = [1 2 3 4]手柄H1被分配到位置POS 1,H2到POS [2]等... 然後使用randish()(mathworks.com/help/techdoc/ref/randperm.html)作爲Ashish在LC列表中指出的。這將隨機「混合」連接列表,並因此洗牌。 最後,設置每個手柄的位置:

set(H[i], 'Position', [POS(LC[i],1) POS(LC[i],2) SizeX SizeY]); 

凡SIZEX和SIZEY是圖對象和屏幕之間的尺寸比。