Qstairs

現役AIベンチャーCTOの知見、画像認識(人工知能、Deep Learning)を中心とした技術ノウハウをアップしていきます

広告

【画像認識】OpenCVを使ってUSBカメラの映像を取得する方法

f:id:qstairs:20160601221351j:plain
今日はOpenCVを使って最近購入したUSBカメラの映像を取得してみます。

動作環境
OS:Windows 10 Professional 64bit
OpenCV3.1.0
VisualStudio Community 2015
USBカメラ:AUSDOM AW615

Visual StudioOpenCVの環境構築に関しては
ここをご覧ください。


まず、USBカメラの映像取得に必要なOpenCVライブラリ(Debug用)は以下でした。
opencv_core310d.lib
opencv_highgui310d.lib
opencv_imgcodecs310d.lib
opencv_imgproc310d.lib
opencv_videoio310d.lib
※不要なライブラリも含まれているかもしれません。


そして、ソースコードが以下になります。
こんなに簡単に実装できるんですね!

#include "stdafx.h"

// opencvの処理を使いますと宣言
#include "opencv2\opencv.hpp"

// cvという苗字を省略しますと宣言
using namespace cv;
// stdという苗字を省略しますと宣言
using namespace std;

// プログラムの処理はmainから始まる
int main()
{
  // カメラデバイスをオープンする
  cv::VideoCapture cap(0);

  // カメラデバイスが正常にオープンしたか確認する
  if (!cap.isOpened()) {
    return -1;
  }

  // 無限ループ
  while (1) {
    cv::Mat frame;
    cap >> frame;

    // 画像を表示する
    cv::imshow("window", frame);

    // キー入力を取得する
    int key = cv::waitKey(1);

    // qを押すと終了する
    if (key == 113) {
      break;
    }
    else if (key == 115) {
      //sを押すと画像を保存する
      cv::imwrite("image.png", frame);
    }
  }

  cv::destroyAllWindows();

  return 0;
}


これから、
USBカメラで取得した映像で画像認識処理を試してみようと思います。

広告