2017-07-09 2 views
0

Kを使用するということは、私はこれをフィルタリング処理ではっきりと得ることができたことを意味します。しかし、私の目標は、投稿された画像の白い点を検出し、各白い点を独自の画像ファイルとして保存することです。それをどうやってやりますか?画像からオブジェクトを抽出するのに助けが必要です

Image I'm working with

+2

は、与えられた答えはあなたを助けるしていますか?もしそうなら、あなたはそれを受け入れるべきです。そうでない場合は、より多くの情報を提供する必要があります。 – vanilla

答えて

3

あなたはPythonでOpenCVのとblob detection を使用することができます。

Aブロブは、いくつかの共通の特性を共有する(例えば階調値)画像内の連結画素の集合です。あなたのケースでは、光接続領域が塊であり、ブロブ検出の目標は、以下の手順でこれらの領域を特定し、マークすることです:

  • センター&半径をマージ
  • をグループ化
    • 値化
    • Pythonで計算

    例のコードは次のようになります

    # Standard imports 
    import cv2 
    import numpy as np; 
    
    # Read image 
    im = cv2.imread("blob.jpg", cv2.IMREAD_GRAYSCALE) 
    
    # Set up the detector with default parameters. 
    detector = cv2.SimpleBlobDetector() 
    
    # Detect blobs. 
    keypoints = detector.detect(im) 
    
    # Draw detected blobs as red circles. 
    # cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures the size of the circle corresponds to the size of blob 
    im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) 
    
    # Show keypoints 
    cv2.imshow("Keypoints", im_with_keypoints) 
    cv2.waitKey(0) 
    

    検出されたブロブを持つ代表的な画像:

    Blob detector

  • 関連する問題