Newer
Older
PrismSoftware / ECTrainer2 / SceneCamera.cpp

#include <Windows.h>
#include <tchar.h>

#include "ECTrainer.h"
#include "SceneCamera.h"

// コンストラクタ
SceneCamera::SceneCamera(ECTrainer* pEct) 
	: BaseProcess(pEct)
	, _buffer(ECTrainer::RINGBUFSIZE) {
}

// 初期化
bool SceneCamera::Init() {
	// 視界カメラに接続
#if defined(EYEDEVICE_GLASS2)
	_SceneCam.open("rtsp://" ADDR ":8554/live/scene");
#elif defined(EYEDEVICE_NONE)
	_SceneCam.open(0);
#endif
	if (!_SceneCam.isOpened()) {
		MessageBox(NULL, _T("cannot open camera " ADDR), NULL, 0);
		return false;
	}
	// 画像サイズを保存
	cv::Mat scene;
	_SceneCam >> scene;
	_sceneSize = scene.size();

	return true;
}

// ループ
bool SceneCamera::MainLoop() {
	while (_pEct->IsAppRun()) {
		// シーン撮影
		cv::Mat scene;
		_SceneCam >> scene;
		_buffer.Put(scene);
		Sleep(0);
	}

	return true;
}