我有64张图像(它们的名称是:00001.jpg,...,00064.jpg)。我想用这些图像创建一个矩阵,其结果如下:
[img1 img2 ... img8
img9 img10 ...img16
...
img57 ........img64]
我已经尝试过horzcat(),imtile(),montage()方法,但是这些方法给了我我想要的结果。
我希望有一个图像的8x8矩阵。我想使用Matlab以编程方式完成上述操作,但找不到任何解决方案。
我怎样才能做到这一点?谢谢!
答案 0 :(得分:0)
图像基本上是矩阵。
这是连接2个矩阵(link)的方式
A = ones(1,4);
B = zeros(1,4);
C = [A B]; //Horizontal
D = [A; B]; //Vertical
使用此逻辑在水平和垂直方向上合并矩阵。
表示,您应该了解矩阵大小及其不匹配问题。
答案 1 :(得分:0)
功能强大是您想要的。您对8x8尺寸的期望不正确。请看下面的例子。
A = magic(2);
>> imtile({A,A,A,A})
ans =
1 3 1 3
4 2 4 2
1 3 1 3
4 2 4 2
由于imtile接受ImageDatastore,所以最容易做到的是:
imds = imageDatastore(pathToYourImages)
tiledImage = imtile(imds);