グレースケール画像をバイナリ画像に変換するR関数はありますか? RGBからグレーに変換するものがありますが、グレーをバイナリに変換したいです。
質問する
3134 次
3 に答える
3
これは、しきい値処理または 2 値化と呼ばれます。私の経験で最も堅牢なのは適応しきい値です。これはメソッドEBImage
として実装されていますthresh
x = readImage(system.file('images', 'nuclei.tif', package='EBImage')) if (インタラクティブ()) ディスプレイ(x) y = スレッシュ(x, 10, 10, 0.05) if (インタラクティブ()) ディスプレイ(y)
于 2013-05-05T13:16:11.607 に答える
2
データがどのクラスまたは「typeof」であるかを言わなかったので、簡単なケースで答えを提供します。画像が整数の配列であるとします。これらの整数の範囲は 0 から、たとえば 9 ビットのグレースケール イメージの場合は 512 です。バイナリ イメージの 0 対 1 のカットオフ ポイントを決定する必要があります。それで
bin_image <- round(grey_image/max(grey_image),0)
するべきです。データの範囲が 0 から 1 の場合は、同様の操作を行いますが、丸めパラメーターを調整します。編集: おっと、カットオフ レベルの選択を省略しました。ハーフマックスでカットする場所、高くカットする場所、低くカットmax(grey_image)
するK*max(grey_image)
場所に置き換えます。K = 1
K>1
K<1
于 2012-04-23T11:37:20.103 に答える
1
EBImage Bioconductor パッケージは、 Rで画像解析を実行するための便利なツールです。パッケージの Vignette からの基本的な例:
lena = readImage(system.file("images", "lena.gif", package="EBImage"))
display(lena>0.5)
于 2012-04-23T14:09:17.470 に答える