Can I have rotate image with white background
By default if we use imrotate it rotate image with black background can I have rotated image with white background?

 Accepted Answer

Sean de Wolski
Sean de Wolski on 23 Jun 2011
Irot = imrotate(I,theta);
Mrot = ~imrotate(true(size(I)),theta);
Irot(Mrot&~imclearborder(Mrot)) = 255;
%View 'er
imtool(Irot)
Edited to be more robust/simpler

4 Comments

Dipak
Dipak on 24 Jun 2011
Hi sean First of all Thankyou very much for giving me the ans.
priya7 D Mello
priya7 D Mello on 23 Feb 2012
Thank you very much. I needed this code badly for my project :)
Leo Wong
Leo Wong on 5 Sep 2018
You are a genius Sean. Your code was the missing piece to complete my project :)
Thank you, it works for me

Sign in to comment.

More Answers (2)

Walter Roberson
Walter Roberson on 23 Jun 2011

1 vote

imrotate() always fills with 0.
If your image is floating point, then one way to proceed would be to put a border of NaN around your image, and rotate that. The resulting image should have NaN in it; set the NaN and everything outside to the background color you want.

1 Comment

Dipak
Dipak on 24 Jun 2011
Thanks Walter For the reply.
Thank you.

Sign in to comment.

Asked:

on 23 Jun 2011

Answered:

DGM
on 30 Dec 2023

Community Treasure Hunt

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

Start Hunting!