2009-02-02から1日間の記事一覧

肌色領域検出

参考 http://pw137.cs.ie.u-ryukyu.ac.jp/repos/complex_back/OpenCV_sample/tutorial_03.cpp opencvプログラミングブック p.59 グレースケールで背景差分取っておく(背景差分 - 橋本詳解) BGRをHSVに変換してからHueのみを見て肌色に近い範囲のピクセルの…

aviファイルの読み込み

動画ファイル(aviファイル)の読み込み - OpenCV@Chihara-Lab. こうしておくとカメラの無いマシンでもtest.aviを読み込んでテストできるので便利 CvCapture *capture = NULL; //capture = cvCreateCameraCapture(0); // カメラ読み込み capture = cvCapture…

赤色検出

MacbookのWindowsXPでVMWareで動かしてるUbuntuでも動いた。カメラがQV-40で暗すぎるので認識部分の数値いじってある colortrack.cpp #include <stdio.h> #include <highgui.h> #include <cv.h> IplImage *img = NULL; IplImage *imgR, *imgG, *imgB, *imgThreshold_R, *imgThreshold_G</cv.h></highgui.h></stdio.h>…

赤色領域を検出(2)

前の方法だと光、影、カメラの種類などの環境変化に弱かったので、もっと相対的に赤を検出する。 cvDiv()という2つの画像の全ピクセルの商を一発で求める関数があるので、「赤の要素が青・緑それぞれの1.5倍あり、さらに赤が100以上の値のピクセル」を赤とみ…

赤色領域を検出(1)

前の肌色領域検出で、ようするにOpenCVはproce55ingみたいに泥臭くピクセルを一つずつx,y座標で走査して比較するのではなく、画像(=バイト配列)に対してビット演算する専用の関数群(cvThreshold,cvSplit,cvAnd,cvSub,cvDivなど)があるからそれを使って、…