小さな穴の検知
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ibuki Takahashi
am 14 Jun. 2021
Kommentiert: Shunichi Kusano
am 14 Jun. 2021
直径2ミリ程度の、複数の穴が空いている、長方形の黒い板があります。
下に白い紙などを敷き、穴の数を検知するプログラムを作成したいと考えております。
直径が小さいため、半径を指定する関数、では検知できませんでした。
どのような関数を使うと検知することができるか教えていただけますと助かります。
よろしくお願いします。
0 Kommentare
Akzeptierte Antwort
Shunichi Kusano
am 14 Jun. 2021
背景が黒で、見つけたい穴は白色に見えるということになると思うので、シンプルに2値化して、検出できた領域の数を数えるという方法をまずはお試しください。
2値化は
img = imread('test.png'); % 画像データの読込
img = rgb2gray(img); % グレースケール画像に変換
bw = img > 10; % 2値化
のような演算でもできますし、imbinarize関数も効くかもしれません。
しきい値が不適切だと誤検出や穴が隠れちゃったりすると思うので、そのあたりの調整は必要だと思います。できたbwが穴の位置が白、その他が黒になっていれば
lbl = bwlabel(bw); % 2値画像をラベル画像に変換(白い領域それぞれに1から番号がつく)
num = max(lbl(:)) % 最大のラベル番号 = トータルの穴の数
で穴の数を出力できます。
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu イメージ タイプの変換 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!