的閱讀款我有大的圖片我想加載到MATLAB,然後應用一些處理過的序列。由於圖像的大小,讀取它們需要很長時間,並且非常快速地填充計算機內存。MATLAB:圖像
不過,我只在圖像的中間部分,由100個像素左右,約100的區域感興趣。
有沒有辦法只能在圖像,從而節省時間和記憶的那部分讀出?
目前我使用:
ROIx = 450:550;
ROIy = 650:750;
image = double(imread(filename));
image = image(ROIx, ROIy);
然而,imread()加載的整體形象,而這需要很長的時間。有沒有辦法只閱讀我感興趣的部分?
(一個過程是要經過每個圖像裁剪成較小的一個,並重新保存它。但我寧願不要裁剪圖像)。
感謝, labjunky
沒有指定既不是文件格式,位深度也不色彩模式(灰度,RGB,其它的呢?)。這些數據對尋找替代解決方案會很有幫助。 – nrz 2012-04-18 09:03:02
它們是灰度,1024×1392像素,16位tiff圖像。 – labjunky 2012-04-18 09:31:08
我不認爲Matlab有這樣做的任何簡單的方法。根據格式的不同,您可以使用[內存映射](http://www.mathworks.co.uk/help/techdoc/ref/memmapfile.html)編寫自己的圖像加載器,以隨機訪問文件。儘管你需要對格式有非常深入的理解。 – Richante 2012-04-18 09:40:26