Rotate Image segment without background

9 visualizzazioni (ultimi 30 giorni)
I want to rotate image like this
I have rotated Image but I have got image like this in matlab
How to fix this problem in matlab Actually I want only rotate leaf part only not whole image. Is it posibble
  4 Commenti
Gopichandh Danala
Gopichandh Danala il 16 Set 2016
Thanks image analyst i will do as u suggested from now..
Malan Jayanka
Malan Jayanka il 18 Set 2016
Gopichandh Danala, Thank you for your answer. But I have a problem. When the whole image was rotated, that image was rotated and leaf part became small. But here I want to maintain the leaf size as same as the original image. Is this possible in matlab?

Accedi per commentare.

Risposta accettata

Gopichandh Danala
Gopichandh Danala il 16 Set 2016
A simple trick is to change all the pixels other than the segment to a white background in your case.
I cropped your main image as u didn't post original image
and sample code is here:
leaf = imread('leaf.jpg');
figure, imshow(leaf, []);
rotateImg = imrotate(leaf,45,'crop'); % rotate by 45 or 315 degrees
figure, %imshow(rotateImg);
subplot(1,2,1)
imshow(rotateImg, [min(min(rotateImg(:))) max(max(rotateImg(:)))]);
newrotateImg = rotateImg;
newrotateImg(newrotateImg == 0) = 255; % make all 0 pixels to 255..
subplot(1,2,2)
imshow(newrotateImg, [min(min(newrotateImg(:))) max(max(newrotateImg(:)))]);
Hope it helps.
  12 Commenti
Busy Bee
Busy Bee il 10 Feb 2018
what if the image segment that I want to rotate is itself made of black pixels?
Image Analyst
Image Analyst il 10 Feb 2018
What if you showed it to us?

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by