繁体   English   中英

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

[英]How can I concatenate images in one matrix in MATLAB?

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

[img1 img2 ... img8
 img9 img10 ...img16
 ...
 img57 ........img64]

我尝试过horzcat(),imtile(),蒙太奇()方法,但是这些给了我不想要的结果。

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

我怎样才能做到这一点? 谢谢!

图像基本上是矩阵。

这是你连接2个矩阵的方法( 链接

A = ones(1,4);
B = zeros(1,4);
C = [A B];  //Horizontal
D = [A; B]; //Vertical

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

说,你应该知道矩阵大小及其不匹配问题。

函数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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM