필터 지우기
필터 지우기

How can I convert this circle drawing code as a Function code? thank you

조회 수: 1 (최근 30일)
Maitham
Maitham 2014년 2월 14일
답변: Maitham 2014년 2월 16일
% Create a logical image of a circle with specified
% diameter, center, and image size.
% First create the image.
imageSizeX = 640;
imageSizeY = 480;
[columnsInImage rowsInImage] = meshgrid(1:imageSizeX, 1:imageSizeY);
% Next create the circle in the image.
centerX = 320;
centerY = 240;
radius = 100;
circlePixels = (rowsInImage - centerY).^2 ...
+ (columnsInImage - centerX).^2 <= radius.^2;
% circlePixels is a 2D "logical" array.
% Now, display it.
image(circlePixels) ;
colormap([0 0 0; 1 1 1]);
title('Binary image of a circle');
[EDITED, Jan, code formatted]

채택된 답변

Mischa Kim
Mischa Kim 2014년 2월 14일
편집: Mischa Kim 2014년 2월 14일
Maitham, check out the following:
function my_circ(imageSize, center, radius) % function definition
% Create a logical image of a circle with specified
% diameter, center, and image size.
% First create the image.
imageSizeX = imageSize(1);
imageSizeY = imageSize(2);
[columnsInImage rowsInImage] = meshgrid(1:imageSizeX, 1:imageSizeY);
% Next create the circle in the image.
centerX = center(1);
centerY = center(2);
circlePixels = (rowsInImage - centerY).^2 ...
+ (columnsInImage - centerX).^2 <= radius.^2;
% circlePixels is a 2D "logical" array.
% Now, display it.
image(circlePixels) ;
colormap([0 0 0; 1 1 1]);
title('Binary image of a circle');
end % end of function
which is called (e.g., from the MATLAB command window) with
my_circ([400 600], [20 30], 50)

추가 답변 (1개)

Maitham
Maitham 2014년 2월 16일
Dear Micha Kim, Thank you for your answer and it works. Very kind regards Maitham

태그

Community Treasure Hunt

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

Start Hunting!

Translated by