OPENCVの適応しきい値セグメンテーション:OTSU法とTRIANGLE法

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に触れたばかりなので、まだよくわからないので、上記の簡単なまとめしかできません。

おすすめ

転載: blog.csdn.net/Kevin_Sun777/article/details/111193589