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?

 Réponse acceptée

Sean de Wolski
Sean de Wolski le 23 Juin 2011

5 votes

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 commentaires

Dipak
Dipak le 24 Juin 2011
Hi sean First of all Thankyou very much for giving me the ans.
priya7 D Mello
priya7 D Mello le 23 Fév 2012
Thank you very much. I needed this code badly for my project :)
Leo Wong
Leo Wong le 5 Sep 2018
You are a genius Sean. Your code was the missing piece to complete my project :)
Ali RAHIMI KHOJASTEH
Ali RAHIMI KHOJASTEH le 1 Avr 2021
Thank you, it works for me

Connectez-vous pour commenter.

Plus de réponses (2)

Walter Roberson
Walter Roberson le 23 Juin 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 commentaire

Dipak
Dipak le 24 Juin 2011
Thanks Walter For the reply.
Thank you.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by