In my understanding, unlike shifting and scaling, image rotation actually rotates the coordinates whereby interpolating the pixels at discrete positions. It is like a projection that discrete values are projected to another plane which are along with the pixel value.

Thus, I am wondering whether we could do 2-D image rotation in a matrix multiplication way which directly perform rotation on the pixel matrix of the image?

Any help is appreciated in advance.


1 Answer 1


Let's say you have an $ M \times N $ image.
If you turn it into a vector in $ {R}^{\left( M N \right)} $ and create a matrix which is $ \left(M N \right) \times \left( M N \right) $ by multiplication and rearranging the vector from the multiplication result you can reposition any pixels where ever you want.

Being practical, by padding the original image you can create rotation by any angle you want even with interpolation (By summing few pixels into one position).

It all starting with vectorization of the image.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.