gpt4 book ai didi

Matlab:方便地下标+挤压

转载 作者:行者123 更新时间:2023-12-02 07:13:49 26 4
gpt4 key购买 nike

我正在使用 matlab,而且对它还很陌生。我习惯了 Java 和其他语言。

一些背景:我正在操作图像,我使用 imread、imshow 等命令。我想将多个图像存储在一个数组中。

所以我要做的是

img_list = zeroes(num_images, 1200, 1600, 3) % height,width,RGB

然后我使用 img_list(i,:,:,:) = my_image; 迭代加载图像。一切正常。

现在我可以通过执行 imshow(squeeze(img_list(1,:,:,:))) 来显示我想要的图像。我受不了这个。我想要像 imshow(img_list(1)) 这样简单的东西。

知道我该怎么做吗?

我绝对愿意更改 img_list 的类型。任何提示表示赞赏。也许我可以做点什么,这样 img_list 中的所有图像都不必具有相同的大小?

提前致谢。 :)

最佳答案

最简单的解决方案是使用 cell array 。元胞数组的每个元素都是一个容器,可以容纳任何类型和大小的变量。您可以通过 array(i) 访问元胞数组的元素(它返回 1×1 元胞)。要访问元胞数组元素的内容,可以使用大括号,即array{i}。另请查看CELLFUN ,它允许您对每个图像执行操作。

%# initialize the cell array
img_list = cell(num_images);

%# add an image to the cell array
img_list{4} = someImage;

%# display the image
imshow(img_list{4})

%# display only the red channel
imshow(img_list{4}(:,:,3))

关于Matlab:方便地下标+挤压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5513653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com