我目前正在家中开展一个项目,并希望在Matlab中使用计算机视觉工具箱从一组匹配的图像中检索图像。事实上,我在Matlab文档中使用的示例是:Image Matching Example
我不断碰到的障碍是,Matlab中的imageSet类只适用于保存到磁盘的文件。不幸的是,我正在做的工作有一个我人工创建的图像集的4D矩阵。更具体地说,它具有形状(M,N,RGB,I),其中
我必须将所有内容写入文件,以便使用imageSet类对象,这似乎很愚蠢。
所以,问题是:有没有人知道创建imageSet对象(或类似对象)的方法,而不必将所有内容写入磁盘上的tmp目录来执行分析,即从工作区变量创建imageSet? / p>
对于我的生活,这个让我整个周末都难过。我知道我可以投降并写入文件,但不知何故,这只会困扰我。
非常感谢任何帮助。
答案 0 :(得分:0)
您是对的,imageSet
仅存储文件名,并为您提供read
方法从磁盘读取特定图像。
通常,如果您已将图像存储在内存中,则只需将它们存储在单元格数组中即可。或者,如果您的图像大小相同,则可以将它们保存在一个多维数组中。
但是,在这种特殊情况下,您使用的是bagOfFeatures
,目前只需imageSet
。因此,您必须将图像保存到文件中。