Image 如何在MATLAB中将图像连接到一个矩阵中?

Image 如何在MATLAB中将图像连接到一个矩阵中?,image,matlab,image-processing,matrix,Image,Matlab,Image Processing,Matrix,我有64张图片(它们的名字是:00001.jpg,…,00064.jpg)。我想用这些图像创建一个矩阵,结果如下: [img1 img2 ... img8 img9 img10 ...img16 ... img57 ........img64] 我尝试过horzcat()、imtile()和montage()方法,但这些方法得到了我不想要的结果。 我希望有一个带图像的8x8矩阵。我想使用Matlab以编程方式执行上述操作,但找不到任何解决方案。 我该怎么做?谢谢大家! 图像基本上是一个矩

我有64张图片(它们的名字是:00001.jpg,…,00064.jpg)。我想用这些图像创建一个矩阵,结果如下:

[img1 img2 ... img8
 img9 img10 ...img16
 ...
 img57 ........img64]
我尝试过horzcat()、imtile()和montage()方法,但这些方法得到了我不想要的结果。

我希望有一个带图像的8x8矩阵。我想使用Matlab以编程方式执行上述操作,但找不到任何解决方案。


我该怎么做?谢谢大家!

图像基本上是一个矩阵

这是连接两个矩阵()

使用此逻辑可以水平和垂直连接矩阵


也就是说,您应该注意矩阵大小及其不匹配问题。

图像基本上就是矩阵

这是连接两个矩阵()

使用此逻辑可以水平和垂直连接矩阵


也就是说,您应该注意矩阵大小及其不匹配问题。

函数imtile就是您想要的。您对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);

函数imtile就是您想要的。您对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);

所有64幅图像的长度是否相同?这些图像是否总是一个常数?图像的大小是多少?您想用图像创建8x8矩阵是什么意思?将所有图像放在8x8单元中,以便您可以通过索引检索它们,例如
imageCollection{1}
?考虑提供一个更详细的<代码> iMudie<代码>似乎就是这样做的。您遇到的具体问题是什么?请发布相关代码以获得更多帮助。另外,您所说的8x8矩阵是什么意思?您将得到一个(8*N)x(8*N)大小的图像,其中NxN是原始图像大小所有64个图像的长度相同吗?这些图像是否总是一个常数?图像的大小是多少?您想用图像创建8x8矩阵是什么意思?将所有图像放在8x8单元中,以便您可以通过索引检索它们,例如
imageCollection{1}
?考虑提供一个更详细的<代码> iMudie<代码>似乎就是这样做的。您遇到的具体问题是什么?请发布相关代码以获得更多帮助。另外,您所说的8x8矩阵是什么意思?您将得到一个(8*N)x(8*N)大小的图像,其中NxN是原始图像大小