2014-10-20 247 views
0

我有一個關於如何執行某些操作的問題。我有一個具有不同圖像的文件夾(每個圖像有3個樂隊)。例如。使用Matlab進行馬賽克圖像

Img_244_234_1_1.tif 
Img_244_234_1_2.tif 

Img_250_234_1_1.tif 
Img_250_234_1_2.tif 

我需要做的是按名稱拼接圖像(例如,所有數字244,250 ...)。現在,我做手工那樣:

image1 = imread('C:\Prueba\Img_244_234_1_1.tif','tif'); 
image2 = imread('C:\Prueba\Img_244_234_1_2.tif','tif'); 
image3 = imread('C:\Prueba\Img_250_234_1_1.tif','tif'); 
image4 = imread('C:\Prueba\Img_250_234_1_2.tif','tif'); 

image_result1 = cat(2,image1,image2); 
image_result1 = cat(2,image1,image2); 

我怎樣才能使自動化使用日期數量(244250 ...)總是它在相同的輸出名稱的位置?

真的很感謝任何建議。

回答

0

您可以使用循環(如for x=[244,255])和字符串的串聯:['C:\Prueba\Img_' x '_234_1_1.tif']將評估爲'「C:\ Prueba \ Img_244_234_1_1.tif」如果x是244

0

如果你的文件名是良好的組織,那麼下面的代碼應該可以工作。

cd('C:\Prueba\'); 
files = dir('*.tif'); 
for i=1:2:numel(files) 
    image1 = imread(files(i).name); 
    image2 = imread(files(i+1).name); 
    image_result = cat(2,image1,image2); 
end