resize image on read

5 次查看(过去 30 天)
I am working with very high-resolution images, where reading in the image takes most of the processing time. Is there a more efficient method of reading a resized version of the image than X = imresize(imread('img.png'), ratio)?
The documentation for imread mentions a 'ReductionLevel' parameter, but it isn't present for my images. Moreover, it doesn't provide the same level of flexibility as imresize.
Note: I can't save a resized version of the image, since the resizing ratio changes depending on the algorithm and storage becomes an issue.
Thanks for the help!
  2 个评论
KALYAN ACHARJYA
KALYAN ACHARJYA 2019-10-20
.....very high-resolution images....
Sizes?
Nathan Jessurun
Nathan Jessurun 2019-10-20
编辑:Nathan Jessurun 2019-10-20
The initial resolutions are 6000x8000x3 (rgb color)

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2019-10-20
ReductionLevel is only an option for JPG images, not PNG images. 6000x8000 is not really that huge. How long does it ake to read in? You might look into the memmapfile() function.
  1 个评论
Nathan Jessurun
Nathan Jessurun 2019-10-20
编辑:Nathan Jessurun 2019-10-20
True, the images are not that large, but the profiler indicates reading images (specifically 'pngreadc') constitutes about 15% of my total runtime (the program mainly consists of morphological operations). This proportion is drastically reduced when I use smaller images.
Thank you for the memmap suggestion! I will see if I can use it to read downsampled data from the image.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Read, Write, and Modify Image 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by