How to move an image inside a computational grid?

2 views (last 30 days)
Hello everyone,
I wish to move an image along a particular direction inside a bigger computational grid (the intensity values of the bigger computational grid is zero except of image region). Size of computational grid is ((X, Y) = (256 , 128)) and an image is place inside this computational grid at (216:266, 44:47).
So how can move the image along the x-direction (e.g. 216 --> 100 with step size , so the position of the image will become (116:166, 44:47)) place inside the bigger computational.
Suggestion/Help please.
Thank you.

Accepted Answer

darova
darova on 21 Mar 2021
Try this
clc,clear
[x,y] = meshgrid(0:10); % main grid
[x1,y1] = meshgrid([4 6]); % small rectangle
surf(x,y,x*0,'facecolor','b');
dx = rand(1,10);
dy = rand(1,10);
h = surface(x1,y1,x1*0+0.1,'facecolor','r');
for i = 1:length(dx)
set(h,'xdata',x1)
set(h,'ydata',y1)
pause(0.5)
x1 = x1 + dx(i);
y1 = y1 + dy(i);
end
  4 Comments
darova
darova on 21 Mar 2021
  • Could you please help me understand (x1*0 + 0.1) ??
Its Z coordinate. BIg mesh is Z=0, so the small rectangle should be on top, i made z=0.1

Sign in to comment.

More Answers (1)

KSSV
KSSV on 19 Mar 2021
I = imread('peppers.png') ;
[X,Y] = meshgrid(1:100,1:100) ;
plot(X,Y,'r') ;
hold on
plot(X',Y','r') ;
image([20 50],[20 50],I)
set(gca, 'YDir','reverse')
  1 Comment
S
S on 19 Mar 2021
Thank you very much for the help. But the my situation is different then what you have considered.
Its like I want to move a set of point (about 20-25) that is inside the red box (which i call as an image) and while we move the in upward direction I dont wish to change the intensity value .. just the position of the points along the x-axis.

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!