次の方法でブロブの輪郭を抽出しています。
bw = im2bw(image, threshold);
boundaries = bwboundaries(bw);
plot(boundaries(:, 2), boundaries(:, 1), 'k', 'LineWidth', 2);
私が今やりたいことは、元の の内側のboundaries
小さいバージョンをプロットできるようにスケーリングすることです。これを行う簡単な方法はありますか?boundaries
boundaries
結果がどのように見えるかの例を次に示します。黒は元のバウンディング ボックスで、赤は同じバウンディング ボックスで、スケーリングされているだけです (ただし、中心はブラック ボックスと同じです)。
編集: 各ポイントを個別にスケーリングできると思いますが、それでも座標を中心に戻す必要があります。これを行うより良い方法はありますか?
scale = 0.7
nbr_points = size(b, 1);
b_min = nan(nbr_points, 2);
for k = 1 : nbr_points
b_min(k, :) = ([scale 0; 0 scale] * b(k, 1:2)')';
end