フィルターのクリア

how to get a crop a circluar region

1 回表示 (過去 30 日間)
Elysi Cochin
Elysi Cochin 2016 年 2 月 1 日
回答済み: Walter Roberson 2016 年 2 月 1 日
i wanted to crop a circular region as shown
please can someone help me....
to get the output (a) i used the below code in link
http://stackoverflow.com/questions/19992097/how-to-do-circular-crop-using-matlab
I = imread('patricia.jpg');
imageSize = size(I);
ci = [250, 300, 100]; % center and radius of circle ([c_row, c_col, r])
[xx,yy] = ndgrid((1:imageSize(1))-ci(1),(1:imageSize(2))-ci(2));
mask = uint8((xx.^2 + yy.^2)<ci(3)^2);
croppedImage = uint8(zeros(size(I)));
croppedImage(:,:,1) = I(:,:,1).*mask;
croppedImage(:,:,2) = I(:,:,2).*mask;
croppedImage(:,:,3) = I(:,:,3).*mask;
imshow(croppedImage);
but the cropping is not coming correctly.... if i binarize and use regionprops the circle is being distorted... please do help

採用された回答

Walter Roberson
Walter Roberson 2016 年 2 月 1 日
If the circle is displaying as an ellipse then you need to give the command
axis image
or do the equivalent (axes DataAspect property)

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by