void OpenCV::OpenCVCore::createConnectionMultiAruco() { QObject::connect( mOpencvWindow, SIGNAL( startMultiMarker() ), mThrAruco, SLOT( start() ) ); QObject::connect( mOpencvWindow, SIGNAL( setMultiMarker( bool ) ), mThrAruco, SLOT( setMultiMarker( bool ) ) ); QObject::connect( mOpencvWindow, SIGNAL( setCapVideoMarker( OpenCV::CapVideo* ) ), mThrAruco, SLOT( setCapVideo( OpenCV::CapVideo* ) ) ); QObject::connect( mThrAruco, SIGNAL( pushImagemMat( cv::Mat ) ), mOpencvWindow, SLOT( setLabel( cv::Mat ) ) ); }
void ArucoThread::imagesSending( ArucoCore& aCore, const cv::Mat frame ) const { if ( mSendBackgrImgEnabled && !frame.empty() ) { if ( ! mMarkerIsBehind ) { cv::flip( frame, frame, 1 ); } cv::cvtColor( frame, frame,CV_BGR2RGB ); emit pushBackgrImage( frame.clone() ); } cv::Mat image; if ( mMultiMarkerEnabled ) { image = aCore.getDetectedRectangleImage(); } else { image = aCore.getDetImage(); } if ( mSendImgEnabled ) { if ( ! mMarkerIsBehind ) { cv::flip( image, image, 1 ); } cv::cvtColor( image, image, CV_BGR2RGB ); if ( mSendBackgrImgEnabled ) { //if you comment this, background image will be without the augmented reality emit pushBackgrImage( image.clone() ); } emit pushImagemMat( image.clone() ); } }
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() ) ); }