簡體   English   中英

如何在Matlab中創建圖像數組

[英]How do I create an array of image in matlab

我從目錄中逐張讀取圖像,並希望創建一個圖像數組,並將其傳遞給處理這些圖像的mexFunction。 到目前為止,我的嘗試無法正常工作。 假設我有100張圖片256x256

 directory = uigetdir; fileList = dir(directory); imageVolume= [];

for idx = 3:numel(fileList)

     tempImage = imread(fullfile(directory, fileList(idx).name));
    imageVolume= [imageVolume tempImage]; 
 end

每當我這樣做時,我都不會得到256x256xn的數組,而是得到了256x(256 * n)的圖像,這不是我想要的。 任何想法?

使用單元陣列。 假設其余代碼正確:

for idx = 3:numel(fileList)
     tempImage{idx} = imread(fullfile(directory, fileList(idx).name));
end

使用單元格數組作為@bjornsen建議的作品。 如果您不想使用單元格數組,則可以使用3維矩陣:

imageVolume(:,:,idx) = tempImage;

但是,您必須確保所有圖像的大小均相同。 否則,最好使用單元格數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM