6

R を使用して、関心のあるオブジェクト (この例では、木の年輪) 間の距離を測定しようとしています。以前の試みは非常に複雑で、さまざまな種類の図を使用して同様のタイプの問題の解を再現するのが困難でした。測定をもっと簡単に行う方法がなければならないと思います。ImageJ は画像解析には適しているかもしれませんが、反復作業に使用するにはあまりにも不器用だと思います。画像処理プログラムを使用して、関心のあるオブジェクトをさまざまな色でマークし、それらの位置に関する情報を抽出しようとしないのはなぜですか? (これは問題ではありません)。次に例を示します。

ここに画像の説明を入力

(画像をtree.jpgとして保存します)。最初 (青い点) から赤と緑の点 (2 つの異なる任意の測定値を表す) までの距離を測定するには、それぞれの重心と色の特徴 (つまり、点が緑、青、赤のいずれであるか) を抽出する必要があります。写真のドット。

私が使用した色は次のとおりです。

cols <- list(red = rgb(255/255, 0/255, 0/255), green = rgb(0/255, 255/255, 0/255), blue = rgb(0/255, 0/255, 255/255))

ファイルを開いてプロットすることができました:

library("jpeg")
img <- readJPEG("tree.jpg")
ydim <- attributes(img)$dim[1] # Image dimension y-axis
xdim <- attributes(img)$dim[2] # Image dimension x-axis
plot(c(0,xdim), c(0,ydim), type='n')
rasterImage(img, 0,0,xdim,ydim)

ここに画像の説明を入力

プロットの寸法はピクセル単位です。RGB チャネルの 1 つ (ここでは緑色) の情報を抽出することもできます。

plot(c(0,xdim), c(0,ydim), type='n')
rasterImage(img[,,2], 0,0,xdim,ydim)

この後、私は問題を経験し始めています。Momocsパッケージが RGB チャネル マトリックスから形状を抽出できる可能性があることがわかりましたが、この問題に対する適切なツールであるとは思えません。たぶん、空間パッケージの1つが機能するでしょうか? (ただし、この目的のための関数は見つかりませんでした)。Rを使用して画像から色付きのドットの位置(任意の座標系を使用したピクセル単位)を抽出するにはどうすればよいですか?

4

1 に答える 1