void ArucoThread::computeCorQuatAndPos( const double position[3], const double rotation[4] )
{
	qDebug() << "ARUCO: comput cor par done>";
	// set corection translation
	mCorP.x() = -position[0];
	mCorP.y() = -position[1];
	mCorP.z() = -position[2];
	// set corection quaternion
	osg::Quat tmp( rotation[1], rotation[2], rotation[3], rotation[0] );
	mCorQ = tmp.conj();

	mCorSetted = true;
	mUpdCorPar = false;
	emit corParUpdated();	// emit that corection parameters were updated
}
Exemple #2
0
void OpenCV::OpenCVCore::createConnectionAruco()
{
	// send actual image
	QObject::connect( mOpencvWindow,
					  SIGNAL( sendImgMarker( bool ) ),
					  mThrAruco,
					  SLOT( setSendImgEnabling( bool ) ) );
	/*QObject::connect( mThrAruco,
					  SIGNAL(pushImage(QImage)),
					  mOpencvDialog,
					  SLOT(setLabelQ(QImage)) );*/
	QObject::connect( mThrAruco,
					  SIGNAL( pushImagemMat( cv::Mat ) ),
					  mOpencvWindow,
					  SLOT( setLabel( cv::Mat ) ) );


	// send actual image to background
	QObject::connect( mOpencvWindow,
					  SIGNAL( sendBackgrImgMarker( bool ) ),
					  mThrAruco,
					  SLOT( setSendBackgrImgEnabled( bool ) ) );

	// start, stop
	QObject::connect( mOpencvWindow,
					  SIGNAL( startMarker() ),
					  mThrAruco,
					  SLOT( start() ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( stopMarker( bool ) ),
					  mThrAruco,
					  SLOT( setCancel( bool ) ) );
	QObject::connect( mThrAruco,
					  SIGNAL( finished() ),
					  mOpencvWindow,
					  SLOT( onMarkerThrFinished() ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( setCapVideoMarker( OpenCV::CapVideo* ) ),
					  mThrAruco,
					  SLOT( setCapVideo( OpenCV::CapVideo* ) ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( startMultiMarker() ),
					  mThrAruco,
					  SLOT( start() ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( stopMultiMarker( bool ) ),
					  mThrAruco,
					  SLOT( setCancel( bool ) ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( startMarker() ),
					  AppCore::Core::getInstance( mApp )->getCoreWindow(),
					  SLOT( swapManipulator() ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( arucoRunning( bool ) ),
					  AppCore::Core::getInstance( mApp )->getCoreGraph(),
					  SLOT( setArucoRunning( bool ) ) );

	// other seting
	QObject::connect( mOpencvWindow->getMarkerBehindCB(),
					  SIGNAL( clicked( bool ) ),
					  mThrAruco,
					  SLOT( setPositionOfMarker( bool ) ) );
	QObject::connect( mOpencvWindow->getCorEnabledCB(),
					  SIGNAL( clicked( bool ) ),
					  mThrAruco,
					  SLOT( setCorEnabling( bool ) ) );
	QObject::connect( mOpencvWindow->getUpdateCorParPB(),
					  SIGNAL( clicked() ),
					  mThrAruco,
					  SLOT( updateCorectionPar() ) );
	QObject::connect( mThrAruco,
					  SIGNAL( corParUpdated() ),
					  mOpencvWindow,
					  SLOT( onCorParUpdated() ) );
	QObject::connect( mOpencvWindow,
					  SIGNAL( setMultiMarker( bool ) ),
					  mThrAruco,
					  SLOT( setMultiMarker( bool ) ) );

	// aruco mouse Controll
	QObject::connect( mOpencvWindow->getInterchangeMarkersPB(),
					  SIGNAL( clicked() ),
					  mThrAruco,
					  SLOT( interchangeMarkers() ) );

}