Matlabで数えたいドットでいっぱいのペトリ皿がたくさんあります。これを確実にバッチで実行できますか?
例 このプレートには 352 個のコロニーがあります
私は ImageJ を試しましたが、境界線からかなりの部分を切り取り、さまざまな結果を得る必要があります。
何か提案はありますか?
Matlabで数えたいドットでいっぱいのペトリ皿がたくさんあります。これを確実にバッチで実行できますか?
例 このプレートには 352 個のコロニーがあります
私は ImageJ を試しましたが、境界線からかなりの部分を切り取り、さまざまな結果を得る必要があります。
何か提案はありますか?
画像内の異なるオブジェクトを区別するために使用できる連結成分ラベリングと呼ばれる手法を使用できます。
まず、何らかのしきい値処理によって画像をバイナリにする必要があります。ラベル付けは、各ピクセル行を 2 回 (左から右に 1 回、右から左に 1 回) スキャンすることによって行われます。オブジェクト ピクセル、つまり値が 1 のピクセルを探しています。
左から右へのスキャン: 各ピクセルp : pがオブジェクト ピクセルの場合、上または左からラベルをコピーします。pが背景ピクセルであるか、pにラベルがある場合は、何もしません。
右から左へのスキャンの場合: 各ピクセルp : pがオブジェクト ピクセルの場合、ラベルがあれば右からコピーし、そうでない場合は新しいラベルを設定します。pが背景ピクセルであるか、pにラベルがある場合は、何もしません。ラベルが存在し、 pの右側のピクセルに別のラベルがある場合は、これを書き留めます。
例 ( http://webstaff.itn.liu.se/~bjogu/TNM087-2012/Fo7-2012-AH.pdfの講義スライドから):
画像全体をスキャンしたら、メモしたすべてのラベル (同じオブジェクトに接続されている) を結合し、個別のラベルの数を数えると、カウントが得られます。
私がすることは次のとおりです。
Intensity のしきい値を使用して、イメージをバイナリ イメージに変換します。ドットが明るいので 、しきい値を取得した後に行うことができます。なぜ黒と言ったのかわかりませんが、何色でも同じ考えです。1-binaryImage
そのヒストグラムでは、rho == 半径に 2 番目のしきい値を設定できます。
追加した: