使用 matlab 打乱图像
例如,我的屏幕尺寸为 1024x768。而且,我的每张图像都是 150 x 250,总共有 4 张图像。如何随机化这些图像以显示在屏幕上的不同位置?
For instance, I have a screen size of 1024x768. And, each of my image is 150 x 250, where I have 4 images in total. How can i randomize these images to appear at different positions on the screen?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你到底想要什么?
是:
这个想法是显示图像并保留每个图形对象(H1、H2、H3、H4)的句柄。理想的情况是将它们存储在句柄列表 H 中。
对于第一个想法,将每个空位的左上角位置存储在 4 个条目列表 POS 中。
创建连接列表 LC,其中 LC[i]=j 返回 POS 中的索引,在其中查找句柄 H[i] 的位置。
例如,如果 LC = [1 2 3 4] 句柄 H1 被分配到位置 POS1< /a>、H2 到 POS[2] 等...
然后使用 randperm() (mathworks.com/help/techdoc/ref/randperm.html) 正如 Ashish 在 LC 清单上指出的那样。这将随机“混合”连接列表,从而重新排列位置。
最后,设置每个手柄的位置:
其中SizeX和SizeY是图形对象与屏幕之间的尺寸比例。
What do you want exactly?
Is it to:
The idea is to display the images and keep the handle of each figure object (H1, H2, H3, H4). The ideal would be to store them in a handle list H.
For the first idea, store the top-left corner position of each empty place in a 4 entries list POS.
Make a connectivity list LC where LC[i]=j returns the index in POS where to find the position of the handle H[i].
For example, if LC = [1 2 3 4] handle H1 is assigned to position POS1, H2 to POS[2], etc...
Then use randperm() (mathworks.com/help/techdoc/ref/randperm.html) as Ashish pointed out on the LC list. This will randomly "mix" the connectivity list, and hence shuffle the positions.
Finally, set the position of each handle:
Where SizeX and SizeY are the size ratios between the figure object and the screen.