OPENCVの適応しきい値セグメンテーション:OTSU法とTRIANGLE法
opencvを使用してマシンビジョンプロジェクトを実行するプロセスでは、適応しきい値セグメンテーションが使用されました。最初は、背景が暗く、ターゲットが明るい画像(下の左の画像を参照)が適応しきい値セグメンテーションに使用されました。背景は明るい画像と暗い画像に使用されました(下の右の画像に示されているように)は、適応しきい値によってセグメント化されています。
これら2つの画像に同じ適応しきい値セグメンテーション方法を使用しますが、異なるセグメンテーション効果が得られます。
1、OTSU法
大いなる法は大いなる法と呼ばれ、その定義と実現の過程についてインターネット上に多くの要約があります。興味があればチェックしてください。以下に、OTSUメソッドを使用して2つの画像をセグメント化した結果を示します。
コード:
Mat img_1 = imread("C:\\Users\\SUNSONG\\Desktop\\图片\\Image_2.BMP");
Mat img_2 = imread("C:\\Users\\SUNSONG\\Desktop\\图片\\Image_13.BMP");
Mat gray_img1, thresh_img1,gray_img2, thresh_img2;
cvtColor(img_1, gray_img1, COLOR_BGR2GRAY);
cvtColor(img_2, gray_img2, COLOR_BGR2GRAY);
threshold(gray_img1, thresh_img1, 0, 255, THRESH_OTSU);
threshold(gray_img2, thresh_img2, 0, 255, THRESH_OTSU);
imshow("测试图1", thresh_img1);
imshow("测试图2", thresh_img2);
結果:
注:OTSUメソッドは、threshold(img、0、255、THRESH_OTSU + THRESH_BINARY)などの他の2値化と一緒に使用できます。これは、しきい値がOTSUアルゴリズムによって計算され、THRESH_BINARY
ルールに従ってセグメント化されることを意味します。
2、TRIANGLE法
TRIANGLE法は三角測量法と呼ばれます。具体的な説明については、この記事「画像処理の三角測量と画像の二値化」を参照してください。
コード:
実装コードは、しきい値セグメンテーションメソッドがTHRESH_OTSUからTHRESH_TRIANGLEに変更されていることを除いて、OTSUメソッドに示されているとおりです。
結果:
3.まとめ
背景の明るいターゲットを抽出するには、TRIANGLEメソッドの方がOTSUメソッドよりも優れていますが、明るい背景の暗いターゲットを抽出するには、OTSUメソッドの方がTRIANGLEメソッドよりも優れています。使用方法は特定の用途によって異なります。
OPENCVに触れたばかりなので、まだよくわからないので、上記の簡単なまとめしかできません。