OpenCV 画像を読み込み2値化して表示する.
これは OpenCV 超初心者である私のメモです.
間違っている可能性がありますので注意してください.
OpenCV を使用して, 画像を読み込み, 2値化して表示するサンプルコードを以下に示す.
/* header files */ #include <stdio.h> #include <stdlib.h> #include <cv.h> #include <highgui.h> #include <cxcore.h> /* main */ int main(void) { IplImage* source; IplImage* binary; int threshold = 128; int max_value = 255; /* 静止画像をグレースケールとして読み込む */ source = cvLoadImage("dede.jpg",CV_LOAD_IMAGE_GRAYSCALE); if (source == NULL) { fprintf(stderr, "読込みに失敗しました."); return EXIT_FAILURE; } /* 2値画像用の領域を確保 */ binary = cvCreateImage(cvGetSize(source), IPL_DEPTH_8U,1); /* グレースケールから2値画像に変換 */ cvThreshold(source,binary,threshold,max_value,CV_THRESH_BINARY); /* ウインドウを準備して画像を表示する */ cvNamedWindow("Binarization",CV_WINDOW_AUTOSIZE); cvShowImage("Binarization",binary); /* キー入力があるまで待つ */ cvWaitKey(0); /* これがないと、1瞬だけ表示されて終わる */ /* メモリを開放する */ cvReleaseImage(&source); cvReleaseImage(&binary); /* ウィンドウを破棄する */ cvDestroyWindow("Binarization"); return EXIT_SUCCESS; }
実行結果
実行結果は以下のようになる.