how to obtain the values of a square matrix inside a circular region of image?

7 ビュー (過去 30 日間)
as825
as825 2013 年 11 月 16 日
コメント済み: as825 2014 年 1 月 22 日
Suppose we find a circular roi in an image. How to obtain the values of a square matrix or square area inside that circle. give that the x and y coordinates of the circle and its radius
  4 件のコメント
Walter Roberson
Walter Roberson 2013 年 11 月 16 日
"Largest" in which sense? The greatest area? If so then in a circle the rectangle with the greatest area is a square.
as825
as825 2013 年 11 月 16 日
Greatest area.suppose the value of x and y is some value and the radius of circli is 5 . then how to find the greatest area . The aim is to embed image

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2013 年 11 月 16 日
d = r/sqrt(2);
xcoords = [x-d x+d x+d x-d x-d];
ycoords = [y-d y-d y+d y+d y-d];
line(xcoords, ycoords)
Now what you need to deal with is the rounding to integer coordinates. Rounding towards the center is the safest way. I would need to think more to figure out if there are circumstances under which it might then be possible to get a slightly larger area by extending one pixel further in one direction.
  4 件のコメント
Walter Roberson
Walter Roberson 2013 年 11 月 16 日
Extracting pixel values:
YourImage(x-d:x+d, y-d:y+d)
In terms of area, Yes, any maximal square inside the circle would do, up to the effects of area reduction due to round-off of non-integers. Circles have no inherent internal orientation, so a square aligned with the axis will have the same area (to within round-off) as a square at (say) 17.29 degrees relative to the origin.
as825
as825 2014 年 1 月 22 日
What does the d in the code represents?

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by