How can I use Two-Dimensional True Compression on arbitrarly sized images?

1 view (last 30 days)
I want to use wcompress(...)
On images of varying size that is not a power of two.
What is the best way to do this?

Accepted Answer

Divya Gaddipati
Divya Gaddipati on 25 Jun 2020
Since wcompress works only on images of sizes with power of 2, you could either
  • resize the images to a particular size like (256, 512 etc)
  • pad the images with zeros
You can use padding if you do not want any loss of information in the images, as resizing might change the original information in the images.
im = imread('path/to/image');
% Resize
new_im = imresize(im, [256, 256]);
% Padding
[m, n] = size(im,1:2);
% m,n should be less than 256, else use a number greater than 256
new_m = (256-m)/2;
new_n = (256-n)/2;
new_im = padarray(im, [new_m, new_n]);
For more information on imresize and padarray, you can refer to the following links:

More Answers (0)

Community Treasure Hunt

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

Start Hunting!