Image size reduction using scaling

2 次查看(过去 30 天)
Hi, I want to reduce the size of an image in such a way that, the sample pixels are selected from the image with 16 pixel distance from each other, and in this manner, a smaller image is formed by using an average value of every other pixel in this neighborhood to represent the pixel value in the scaled image. Is it same as imresize(), or is there any other way to do this?

采纳的回答

Jan
Jan 2017-4-20
This can be done efficiently by FEX: BlockMean. You can run the M-version, but if the process is time critical, compile the C-Mex function.
  3 个评论
Jan
Jan 2017-4-20
Img = rand(640, 480, 3); % Test data
Img16 = BlockMean(Img, 16, 16);
This creates the average over blocks of 16x16 pixels. Pixels on the right and bottom, which do not match into the 16x16 grid are ignored.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by