>一定間隔で面積をくりぬきたいです
⇒下図のようにドーナツ型をくり抜く解釈であってますか?
すぐ近くにあった上記質問に対する回答を応用します。この例では物体を包む長方形に内接する楕円の範囲しか演算していないので、物体の先端が四隅の方に伸びるとカバー出来ません。ではどこまで求めればよいかというと、面積がゼロになるまでドーナツを外側に広げていけば良いのですが、元画像に対する物体の占有面積が大きいとドーナツが元画像からはみ出してエラーが生じる可能性があります。この問題を解消するには、今回の回答のようなラスタ画像ベースではなくベクタ画像ベースにすれば良いと思います(その先はあまり検討してませんが)
N = [500, 800]; % 画像サイズ
O = N/2; % 物体サイズ。ここでは画像サイズの1/4とする
C = N/2; % 物体の重心。ここでは画像サイズの中央とする
NM = min(O); % 物体サイズの縦横小さい方を取る
A = NM./O; % 楕円の縦横比を物体サイズのアスペクト比に合わせる
J = rand(N); % 画像の値。ここではテスト用に0~1の乱数とする
[xg, yg] = meshgrid(1:N(2), 1:N(1));
for k = NM/8:NM/8:NM/2 % 物体を包む長方形に内接する楕円の範囲でドーナツ状にくり抜き平均値を演算する
l = k - NM/8;
S = sqrt(((xg-C(2))*A(2)/k).^2 + ((yg-C(1))*A(1)/k).^2) <= 1;
T = sqrt(((xg-C(2))*A(2)/l).^2 + ((yg-C(1))*A(1)/l).^2) <= 1;
mean(J(S & ~T),'all')
% J(S & ~T) = k/NM; % この行は不要。面積S1,S2,S3,S4の範囲を図示する為
end % 画像の値は0~1の乱数なので平均値は約0.5になる
% imshow(J) % この行は不要。面積S1,S2,S3,S4の範囲を図示する為
>重心から物体先端に向かって、任意の距離を取る方法を教示いただけないでしょうか。
この回答ではこの質問に対する回答をしていません。