problem with output of imrotate function.
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, after using imrotate function, why center of object is changing. this problem is appear by obtain center of object before and after rotation. please guide me how to rotate image without changing coordination of center's object. original image:
output after rotation:
clc;clear;
img = imread('ms0.jpg');
degree = 45;
img1 = imrotate(img,-degree,'crop');
prob1 = regionprops(img,'centroid');
prob2 = regionprops(img1,'centroid');
img_center = prob1.Centroid;
img1_center = prob2.Centroid;
img_center = round(img_center);
img1_center = round(img1_center);
fprintf('center before rotation is : ( %d , %d ) \n.',img_center(1),img_center(2));
fprintf('center after rotation is : ( %d , %d ) \n.',img1_center(1),img1_center(2));
0 件のコメント
採用された回答
Image Analyst
2018 年 5 月 25 日
imrotate() rotates about the center of the center of the image. Your blob is not at the center of the image so it will move. Perhaps you should crop your image if you want it to be at the center of an image.
3 件のコメント
Image Analyst
2018 年 5 月 26 日
See my Image Segmentation Tutorial to learn how you can call regionprops() to crop out the bounding box of your blob https://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862&sort=downloads_desc
props = regionprops(binaryImage, 'BoundingBox');
croppedImage = imcrop(binaryImage, props.BoundingBox);
imrotate(croppedImage, angle);
sparrow Jr
2018 年 5 月 26 日
編集済み: sparrow Jr
2018 年 5 月 26 日
Hello, Sir.. Thank you so much for your comment in my thread. I would like to ask you further questions about matlab. Would you mind if I send you an email? Iam so sorry for my comment here.
Best regard, Sparrow.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Computer Vision with Simulink についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!