Interpolation method of IMAGE

8 views (last 30 days)
Jan
Jan on 3 Apr 2019
When the size of the data displayed by the image command differs from the number of pixels used on the screen, the data must be interpolated.
  • Which method is used for this interpolation?
  • A user-defined property to control this would be fine.
  • If I want to create a user-defined interpolation, it would be convenient to let it be triggered automatically, when the image is resized - e.g. be resizing the figure or modifying the axes positions. What is a secure way to catch all methods of resizing? Can we attach a callback? Maybe in the Java level? (Hi Yair!)

Answers (2)

Jan
Jan on 23 Dec 2021
x = zeros(640, 480, 3);
x(:, 1:2:end, :) = 1;
image(x)
This looks confusing to me in the online version: Where are the steps on the diagonal come from? They appear in a 64x48 pixels image also.
Locally in a figure of Matlab R2018b it looks, like image() is using a "nearest neighbor" interpolation:
All pixels are black or white.
  1 Comment
Andreas Westlund
Andreas Westlund on 2 May 2022
Did you succeed in creating your own resize function? And would you mind sharing a code example?

Sign in to comment.


yanqi liu
yanqi liu on 24 Dec 2021
yes,sir,may be default display size confused,such as
clc; clear all; close all;
x = zeros(640, 480, 3);
x(:, 1:2:end, :) = 1;
figure;
h=image(x);truesize

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!