Interpolation method of IMAGE

32 views (last 30 days)
Jan
Jan on 3 Apr 2019
Commented: Andreas Westlund on 2 May 2022 at 7:39
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 at 7:39
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

Community Treasure Hunt

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

Start Hunting!

Translated by