2016-05-19 3 views
0

右と下の罫線に接続された白いオブジェクトを削除しようとしています。 imclearborderを試しましたが、上端と左端に接続されたオブジェクトを除外する方法はわかりません。右と下の罫線に接続されているオブジェクトを削除します。

My Image

+0

は、あなたのオブジェクトは黒または白ですか?より多くの情報を提供してください。 [ask] – Piglet

+0

を読んでくださいこれまでに画像に何をしましたか?あなたは接続されたコンポーネントを持っていますか?あなたは 'imfill'を使って試しましたか?右端には小さな白い泡があるようですが、削除されたものも必要ですか?もしそうなら、どのように右の大きな白い塊とそれらを結合しようとしましたか? – beaker

答えて

0

あなたはimclearborderを使用することができますが、彼らは国境を触れないように、あなたは、画像の左と上のエッジは、第1パッド(したがって、クリアされません)必要があります。

コード:imclearborder

I = imread('gQKc8.png');   %// your image 

J = zeros(size(I)+1,'uint8'); %// initialize a padded matrix 
J = J(:,:,1:3);     %// (we didn't need to pad the third-dimension) 
J(2:end,2:end,:) = I;   %// assign I to the lower-right of J 

C = imclearborder(J,4);   %// now run imclearborder, using connectedness option 4 
C = C(2:end,2:end,:);   %// remove the padding 

接続性オプション4わずかのみ4つの2-Dの隣接するピクセルをチェックする機能を伝えます。詳細については、imclearborderのドキュメントを参照してください。

  • 原パディング画像
  • に直接imclearborderを用い

    1. 原画像
    2. :下へ、左から右へ、上から

      %// for comparison: 
      B=imclearborder(I,4);    %// imclearborder on the original 
      subplot(221); imshow(I); 
      subplot(222); imshow(B); 
      subplot(223); imshow(J); 
      subplot(224); imshow(C); 
      

      :結果をプロット

      希望の結果、パディングされた画像上

    result compared to original

    注: @beakerはコメントとして右側にある2つの小さな白い塊が国境に接続されていないているので、それらがクリアされません。それらを削除したい場合は、BLOBをクリアするかどうかをより正確に定義する必要があります。

  • 関連する問題