Rotate Image segment without background

8 次查看(过去 30 天)
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 个评论
Gopichandh Danala
Gopichandh Danala 2016-9-16
Thanks image analyst i will do as u suggested from now..
Malan Jayanka
Malan Jayanka 2016-9-18
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?

请先登录,再进行评论。

采纳的回答

Gopichandh Danala
Gopichandh Danala 2016-9-16
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 个评论
Busy Bee
Busy Bee 2018-2-10
what if the image segment that I want to rotate is itself made of black pixels?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by