現在地 >> メニュー >> サンプルコード::OpenCV >> 適応的な閾値処理

問題


以下の画像をグレイスケールで読み込んで、cvAdaptiveThreshold()を用いて、ピクセル毎異なるに閾値処理を行え。

画像

その他条件:
 使用するアルゴリズムは「CV_ADAPTIVE_THRESH_MEAN_C」
 「隣接領域サイズ」は11
 「閾値算出用パラメータ」は8

答え


#include <cv.h>
#include <highgui.h>
#include <iostream>

using namespace std;


int main( int argc, char **argv)
{

IplImage *imgA = cvLoadImage( "test2.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if(imgA ==NULL)
{
cout<<"Can't Load Image ." << endl;
std::exit(0);
}

cvAdaptiveThreshold (imgA, imgA, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY,11,8);



cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
cvShowImage("window",imgA);

cvWaitKey(0);


cvReleaseImage( &imgA );

cvDestroyWindow("window");

return 0;
}

メモ


隣接領域は、奇数。

―閾値の計算―

CV_ADAPTIVE_THRESH_MEAN_C
注目ピクセルの「隣接領域の平均」から,「計算用パラメータ」を引いた値.


CV_ADAPTIVE_THRESH_GAUSSIAN_C
注目ピクセルの「隣接領域の重み付き総和(ガウシアン)」から 「計算用パラメータ」を引いた値.

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます