タグ

2013年4月26日のブックマーク (2件)

  • 【OpenCV2.0】cv::Matクラス 画像処理ソリューション

    ※注1 widthStepでは画像1行あたりのバイト数はビットマップファイルと同様に4バイト単位になるように調整されていましたが、画像ファイルをcv::imread()関数を使って読み込むと、stepの値は(メモリも?)4バイト単位に調整されません。(画像の幅×チャンネル数になるのみ) そのため、その他もろもろの互換性を考慮すると、cvLoadImageを使って画像ファイルを読み込み、cv::Matに変換した方が良さそうです。 (例) //画像ファイルの読み込み cv::Ptr<IplImage> iplimg = cvLoadImage("test.bmp", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); //cv::Matへ変換 cv::Mat img(iplimg); ※注2 cv::Matから取得するdepth()は以下のように

  • 10分で学ぶOpenCV超入門

    C言語を勉強した人がOpenCVを始める取っ掛かりとして使ってもらえれば嬉しいです。配列とか関数は分かるけど、ポインタはちょっと・・・というくらいの人から読めるように書いてみました。 OpenCVとは OpenCVとは画像処理で使える関数がたくさん用意されている関数群(フレームワーク)です。例えばC言語でファイルを読み込むのにfgets()という関数が用意されているように、OpenCVでは画像を読み込むcvLoadImage()という関数が用意されています。勿論、用意されている関数はこれだけではなく、画像をグレースケール化したり画像中から四角形を検出したり、顔を検出したりする関数まで用意されています。 OpenCVでの処理の流れ OpenCVを使ったプログラムの基的な流れは といった流れになっています。以下では、まず始めにstep1とstep3だけを行うプログラムを作成したあとに徐々に複