open only a field in a large tiff image

4 次查看(过去 30 天)
I would like open only fields in tiff images of very high definition.
In histology, it is possible to work on multi-image tiff formats. Each image corresponds to different spatial scales. Typically, the higher resolution corresponds to images of size 100.000 x 50.000. To preserve memory and processing time, it is possible to define fields in lower resolution to crop the corresponding image at the full size. However I did not found any function wich could crop such image without opening the all tall image. In particular the 'pixelRegion' argument of imread induce a memory overflow event for arbitrary small fields.
do you have a solution ?

回答(1 个)

Nipun Katyal
Nipun Katyal 2020-3-9
MATLAB provides out-of-core processing with the help of bigimage for formats like .tiff, It enables you to read blocks from the original image and process them without any worry about memory usage or processing power usage.
Here is an example on how to read the block
%Read the image
img = bigimage('sample.tif');
%Starting coordinates
coordStart = [250 250];
%Ending Coordinates
coordEnd = [750,750];
%Extract the region between the aforementioned coordinates
blk1 = getRegion(img,1,coordStart, coordEnd);
%Display the image
bigimageshow(bigimage(blk1))
  4 个评论

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by