Newer
Older
PrismSoftware / ECTrainer2 / SceneCamera.cpp

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

#include "ECTrainer.h"
#include "SceneCamera.h"
#include "ECTrainerGUI.h"
#include "MyWinUtils.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::Routine() {
	// シーン撮影
	cv::Mat scene;
	_SceneCam >> scene;
	_buffer.Put(scene);
	Sleep(0);

	_pEct->PECTrainerGUI()->Tell(WM_USER + 1);

	return true;
}