【发布时间】:2012-01-25 16:21:29
【问题描述】:
我搜索了该网站,但找不到任何解决此问题的方法。这是我想要完成的一件非常简单的事情,但我真的不知道该怎么做。
我有一个图像目录。我正在做一个实验,在滑块上,人们会评估两个图像相互关联的程度。在 MATLAB 中对滑块部分进行编程很容易。但是,我在弄清楚如何使图像正常工作时遇到问题。我希望目录中的两张图片随机出现在屏幕上,这样在实验结束时,每个可能的图像对都会被评分。
所以如果图片是:
dog
cat
mouse
hat
我想要:
dog cat
dog mouse
dog hat
cat mouse
cat hat
mouse hat
如何让 MATLAB 执行此操作?
首先,我无法让它首先显示随机图像。我的脚本是这样的,但它不起作用:
dfiles = d(~[d.isdir]);
genRandNum = randperm(length(dfiles));
filename = dfiles(genRandNum(i)).name;
imageName = fullfile('Desktop', 'SEMREL', 'Pictures', filename);
imshow(imageName, 'Parent');
但是一旦我开始工作,我如何让它在屏幕上显示两个相邻的图像?以及如何对随机生成进行加权,以便我只获得每个图像对一次?如果我只是告诉它不要重复一个不起作用的图像,因为每个单独的图像都必须与其他几个图像配对。
帮助?我真的找不到办法做到这一点。
【问题讨论】:
-
另外,作为记录,以防有人提出:我考虑了创建新图像文件的可能性,每个文件都是一对图像(所以一个包含狗和猫的图片文件例如,彼此相邻),所以我所要做的就是随机生成一张图像。这将使编程更容易。但是,图片数量非常多(约 80 张),因此手工创建每对可能的配对将非常耗时。