compute a pixel's location in original image given its location in the rotated image and the rotated angle--matlab

There is an image called rI and a pixel p located at [px, py] in this image. The image rI is got by rI = imrotate(I, angle, 'bilinear', 'crop') where I is the original image and angle is the rotated angle. We also assume that the size of image I is [h, w] .
Now the problem is how can I get the location of pixel corresponding to p in image I ?

답변 (1개)

It rotates about the center, right? So the new x and y = [cos(theta), sin(theta);-sin(theta), cos(theta)] * [oldx;oldy]. You have to figure out precisely where the center of rotation is. Not sure but it might be different (half a pixel, maybe) depending on whether the image has an odd number of rows and columns or an even number.

댓글 수: 1

Thanks, according to the matlab document: "B = imrotate(A,angle) rotates image A by angle degrees in a counterclockwise direction around its center point.". Can you explain this equation a lit bit?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Geometric Transformation and Image Registration에 대해 자세히 알아보기

질문:

2014년 2월 23일

댓글:

2014년 2월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by