How to do the grid sampling in the rotated square area of an image

1 vue (au cours des 30 derniers jours)
HONG CHENG
HONG CHENG le 1 Nov 2018
Commenté : HONG CHENG le 4 Nov 2018
As the following image shows, I want to do grid sampling in the rotated square area of an image.
I need to get a matrix with a certain size and the values of this matrix are the grid pixel value of the image.
Is there an algorithm can do this? or is there a function in Matlab? I found some functions in the Matlab Answer, but all of them are not for the rotated square area as the second image shown.

Réponse acceptée

KSSV
KSSV le 1 Nov 2018
YOu can rotate the image in the way you want.
M = 50; N = 50 ;
x = linspace(0,1,M) ;
y = linspace(0,1,N) ;
[X,Y] = meshgrid(x,y) ;
th = 45 ;
R = [cos(th) -sin(th) ; sin(th) cos(th)] ;
coor = [(X(:)-mean(X(:))) (Y(:)-mean(Y(:)))]*R ;
Xi = mean(X(:))+reshape(coor(:,1),M,N) ;
Yi = mean(Y(:))+reshape(coor(:,2),M,N) ;
figure
hold on
plot(X,Y,'.r')
plot(Xi,Yi,'.b')
  1 commentaire
HONG CHENG
HONG CHENG le 4 Nov 2018
Thanks for your kind answer.
However, I want to get the coordinates of the rotated grid points. In your case, I can draw the same square area on the top of origin image.
But I am trying to get the grid coordinates of a smaller area. With the meshgrid coordinate system, I don't know how to determine the position of the smaller area.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Geometric Transformation and Image Registration dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by