cc2bw
説明
例
イメージを読み取って表示します。
I = imread("blobs.png");
imshow(I)
連結要素の構造体を作成します。
CC = bwconncomp(I);
構造体をフィルター処理し、丸いオブジェクトを保持します。フィルター処理されたイメージを表示します。
CC = bwpropfilt(CC,"Circularity",[0.7 1]);
imshow(cc2bw(CC))
構造体を再度フィルター処理し、大きいオブジェクトを保持します。フィルター処理されたイメージを表示します。
CC = bwpropfilt(CC,"Area",[20 Inf]);
imshow(cc2bw(CC))
バイナリ イメージを読み取り、連結要素を検出します。
BW = imread("text.png");
CC = bwconncomp(BW);各連結要素の面積を測定し、結果を table として返します。
p = regionprops("table",CC,"Area");
2 番目から 10 番目に大きい連結要素のみを含むバイナリ イメージを作成します。結果を表示します。
[~,idx] = sort(p.Area,"descend");
BWfilt = cc2bw(CC,ObjectsToKeep=idx(2:10));
imshow(BWfilt)
米粒のグレースケール イメージを読み取った後、そのイメージをにバイナリ イメージに変換します。
I = imread("rice.png");
BW = imbinarize(I);
imshow(BW)
各領域の面積と境界ボックスを測定します。
CC = bwconncomp(BW); stats = regionprops("table",CC,"Area","BoundingBox");
次の条件が成り立つ領域を選択します。
面積が 50 ピクセルより大きい
境界ボックスが、幅 15 ピクセル未満、高さ 20 ピクセル以上である。
area = stats.Area; bbox = stats.BoundingBox; selection = (area > 50) & (bbox(:,3) < 15) & (bbox(:,4) >= 20); BW2 = cc2bw(CC,ObjectsToKeep=selection);
フィルター処理されたイメージを表示します。
imshow(BW2)

入力引数
連結要素 (オブジェクト)。4 つのフィールドをもつ構造体として指定します。
| フィールド | 説明 |
|---|---|
Connectivity | 連結要素の連結性 |
ImageSize | バイナリ イメージのサイズ |
NumObjects | バイナリ イメージ内の連結要素の数。 |
PixelIdxList | 1 行 NumObjects 列の cell 配列。ここで、cell 配列の k 番目の要素は k 番目のオブジェクトのピクセルの線形インデックスを含むベクトルです。 |
保持するオブジェクト。次のいずれかの値として指定します。
正の整数、または正の整数のベクトル —
objectsToKeepに含まれるインデックスをもつオブジェクトを保持します。objectsToKeepの長さはCC.NumObjects以下になります。logical ベクトル —
objectsToKeep内の対応する要素がtrueであるオブジェクトを保持します。objectsToKeepの長さはCC.NumObjectsと等しくなければなりません。
出力引数
バイナリ イメージ。CC.ImageSize と同じサイズの logical 配列として返されます。
データ型: logical
拡張機能
使用上の注意および制限:
cc2bwでは C コードおよび C++ コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。cc2bw関数のコードを直接生成する場合、CC.PixelIdxListは一様でなければなりません。次のコードは、関数makeHomogeneous(MATLAB Coder) を使用してCC.PixelIdxListを一様にする方法を示しています。CC = bwconncomp(BW); CC2 = bwpropfilt(CC,"Area",10); typeCC = coder.typeof(CC2); typeCC.Fields.PixelIdxList = makeHomogeneous(typeCC.Fields.PixelIdxList); codegen cc2bw -args {typeCC}
ラッパー関数のコードを生成する場合、
CC.PixelIdxListを一様にする必要はありません。たとえば、次のコマンドは、myFunctionという名前のラッパー関数のコードを生成します。codegen myFunction -args {BW}
以下は、
cc2bw関数への呼び出しを含むラッパー関数myFunctionの定義の例です。function out = myFunction(BW) %#codegen CC = bwconncomp(BW); CC2 = bwpropfilt(CC,"Area",10); out = cc2bw(CC2); end
バージョン履歴
R2024a で導入cc2bw は、C コードの生成をサポートするようになりました (MATLAB Coder が必要)。
参考
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)