2017-01-25 10 views
1

私はコンピュータビジョンを初めて学んだ微生物学者ですので、どんなヘルプも非常に高く評価されます。イメージ内の既知の特徴を縮小/強化する

この質問には、私が分析しようとしている顕微鏡画像が含まれています。私が達成しようとしている目標は、画像中のバクテリアを数えることですが、非常に明るく蛍光を発する細菌を増やすためには、まず画像を前処理する必要があります。私は、コントラストを強調したり画像を鮮明にするなど、いくつかの異なるテクニックを使用することについて考えましたが、私が必要とするものではありません。

私はRBGスケールで0のにノイズ(黒スペース)を低減し、緑地を強化したいです。私はもともとOpenCVのforループをスレッショルドの限界で各ピクセルを変更するように書いていましたが、もっと良い方法があることはわかっています。

ここでは、私が元画像のフォトショップで行った例と、自分が望むものとの比較を示します。

Original Imageenhanced Image

私は、このプロセスを自動化することができるようにPython環境でこれを行うことを学ぶ必要があります。私が言ったように私は新しいですが、私はPythonのOpenCV、mahotas、numpyなどに精通していますので、特定のパッケージには正確には添付されていません。私はこれらの技術にも非常に新しいので、あなたが正しい方向に私を向ける場合でも私は開いています。

ありがとうございます!

答えて

0

最初はヒストグラムの均等化を試みましたが、目的の結果が得られませんでした。だから私は、を使用して適応閾値を使用したフィルタ意味:最後に、私はモルフォを適用

median = cv2.medianBlur(th, 5) enter image description here

th = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY_INV, 3, 2) enter image description here

をそれから私はメディアンフィルタを適用しました楕円カーネルの論理決算

k1 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5)) 
dilate = cv2.morphologyEx(median, cv2.MORPH_CLOSE, k1, 3) 

THIS PAGEが希望しかし、あなたがこの結果を修正するのに役立ちます。

+0

こんにちはジェル、私は適応型閾値処理に関するエラーが発生しています。それは言う() ----> 1番目= cv2.adaptiveThreshold(IMG、255、cv2.ADAPTIVE_THRESH_MEAN_C、cv2.THRESH_BINARY_INV、3、2) エラーで:/ feedstock_root /build_artefacts/work/opencv-3.1.0/modules/imgproc/src/thresh.cpp:1286:エラー:(-215)src.type()==関数adaptiveThresholdのCV_8UC1 – Bryce

+0

こんにちはジェル、素晴らしいポストをありがとう!これは上の私の前のコメントに対応しています。次のコードを画像 'img = img.max(axis = 2)'に組み込んで閾値処理を行う必要があることを追求している人のために追加したいと思います。 – Bryce

+0

@Bryceはい、そうです。適応しきい値はグレースケール画像に対してのみ機能します:D –

2

あなたはhistogram equalizationを見てすることができます。これは緑を強調し、黒の範囲を減らします。 OpenCVチュートリアルhereがあります。その後、最高の細菌を産む異なるthresholding mechanismsを実験することができます。

+0

ilke444さん、ありがとうございました。以前はこのアプローチを試したことはありませんでした。私のイメージにあなたの提案をして遊んだ後、私はそれが近くだったと言いますが、私が必要としたものではありません。私はあなたの意見を本当に感謝しています。私はこのことを後で私のイメージ分析の仕事に使うことを知っています。 – Bryce

1

使用TensorFlow:

  1. (大きなデータセットが良い)のテキストファイルを伴うに保存された細菌とその位置の画像を使用して独自のデータセットを作成します。
  2. あなたのイメージ
  3. と更新デフォルトTensorFlow例を画像の正と負のセットを作成するには、コンボリューション層の束を持っていることを確認してください。
  4. 列車と試験。

TensorFlowは、このようなタスクには最適です。さまざまな強度レベルを心配する必要はありません。

関連する問題