1

次のような高解像度のバイナリ イメージがあります。

ここに画像の説明を入力

右にわずかに回転し、最終的にオブジェクトの方向の軸を取得する必要がある長軸を計算しようとしています

ここの投稿(matlab 内) は、これを行う方法がデータポイントの共分散行列を計算し、それらの固有値/固有ベクトルを見つけることであることを示唆しています

Rで似たようなものを実装しようとしています

%% MATLAB CODE Calculate axis and draw

[M N] = size(Ibw);
[X Y] = meshgrid(1:N,1:M);

%Mass and mass center
m = sum(sum(Ibw));
x0 = sum(sum(Ibw.*X))/m;
y0 = sum(sum(Ibw.*Y))/m;

#R code

d = dim(im)
M = d[1]
N = d[2]

t = meshgrid(M,N)
X = t[[2]]
Y = t[[1]]
m = sum(im);
x0 = sum(im %*% X)/m;
y0 = sum(im %*% Y)/m;

meshgrid <-function(r,c){
  return(list(R=matrix(rep(1:r, r), r, byrow=T), 
          C=matrix(rep(1:c, c), c)))
}

mただし、Rでは ,x0との計算にy0時間がかかりすぎます。

Rでの実装を知っている人はいますか?

4

2 に答える 2

1

このリンクから、デフォルトの Rblas.dll を適切なものに置き換えてみてください。

于 2013-04-17T05:19:55.110 に答える