我正在計算使用高分辨率12位圖像(650,1280)的兩點相關函數。我正在使用以下循環迭代加載每個圖像循環:加載單個圖像像素不是全圖像?
for c = 0:199;
img = zeros(650,1280,'uint16');
if c<10, img=imread([int2str(b),name,'000',int2str(c),'.tif']);end;
if c>=10 && c<100, img=imread([int2str(b),name,'00',int2str(c),'.tif']);end;
if c>=100, img=imread([int2str(b),name,'0',int2str(c),'.tif']);end;
end
+ calculate 2point correlation from the same location and averaging over the 200
並且稍後將採用相關函數。這個計算大約需要7分鐘,等待這麼長時間是非常痛苦的。
我的問題是否可以加載單個像素(知道它們的兩點相關性的確切位置)而不是整個圖像?我希望這兩個對於循環中的每個圖像都是一樣的。
我懷疑加載一個圖像兩百倍是什麼減慢我的程序,並將從每個圖像加載定位特定圖像像素大大受益。
如果b爲另一個迭代器,我假設數據庫有可能需要進口超過200張圖像,是不是啊?我認爲你輸入的不是一個,而是至少200個這樣的圖像,這是我可以從你的代碼中收集的。 – Divakar
查看[Mathworks文檔](http://www.mathworks.co.uk/help/matlab/ref/imread.html)可以使用tif圖像,在'Read Specified region of TIFF圖像' – RTL
@ Divakar,是的,「c」循環嵌入在「b」的循環中,該循環是不同文件夾的索引,每個文件夾包含200個圖像。 – huckleberry1008