void QOpenCV::OpenCVWindow::configureWindow() { setModal( false ); setWindowTitle( tr( "Kinect and Aruco Window" ) ); mWindowLabel = new QLabel( "", this, 0 ); mKinectRB = new QRadioButton( tr( "Kinect" ) ); mArucoRB = new QRadioButton( tr( "Aruco" ) ); mFaceRecRB = new QRadioButton( tr( "Face Recognition" ) ); mMarkerRB = new QRadioButton( tr( "Marker" ) ); mMultiMarkerRB = new QRadioButton( tr( "Multi Marker" ) ); mFaceRecPB = new QPushButton( tr( "Start Face Recognition" ) ); mMarkerPB = new QPushButton( tr( "Start Marker Detection" ) ); mMultiMarkerPB = new QPushButton( tr( "Start MultiMarker" ) ); mKinectPB = new QPushButton( tr( "Start Kinect" ) ); mKinectSnapshotPB = new QPushButton( tr( "Kinect Snapshot" ) ); mUpdateCorParPB = new QPushButton( tr( "Update cor. param." ) ); mInterchangeMarkersPB = new QPushButton( tr( "Change Markers" ) ); mNoVideo = new QCheckBox( tr( "NoVideo" ) ); mMarkerBackgrCB = new QCheckBox( tr( "Background" ) ); mFaceDetBackgrCB = new QCheckBox( tr( "Background" ) ); mMarkerBehindCB = new QCheckBox( tr( "Marker is behind" ) ); mCorEnabledCB = new QCheckBox( tr( "Correction" ) ); mDisableCursorCB = new QCheckBox( tr( "Turn off cursor" ) ); mDisableZoomCursorCB = new QCheckBox( tr( "Turn off zoom" ) ); mEnableMarkerDetectCB = new QCheckBox( tr( "Turn on Marker Detection" ) ); mSpeed = new QSlider( Qt::Vertical ); mSpeed->setRange( 5,20 ); mSpeed->setValue( 10 ); mSpeed->setPageStep( 1 ); mSpeed->setFocusPolicy( Qt::NoFocus ); mSpeed->setToolTip( "Modify speed of movement" ); mModulesStackL = new QStackedLayout; mSubmodulesStackL = new QStackedLayout; QHBoxLayout* mainLayout = new QHBoxLayout; QVBoxLayout* buttonLayout = new QVBoxLayout; #ifdef OPENNI2_FOUND mKinectRB->setChecked( true ); buttonLayout->addWidget( mKinectRB ); #endif buttonLayout->addWidget( mArucoRB ); buttonLayout->addLayout( mModulesStackL ); QWidget* kinectPageWid = new QWidget; QWidget* arucoPageWid = new QWidget; QWidget* arucoFaceRecPageWid = new QWidget; QWidget* arucoMarkerPageWid = new QWidget; QWidget* arucoMultiMarkerPageWid = new QWidget; QWidget* arucoSubPageWid = new QWidget; QVBoxLayout* kinectPageLayout = new QVBoxLayout; QVBoxLayout* arucoPageLayout = new QVBoxLayout; QVBoxLayout* arucoFaceRecPageLayout = new QVBoxLayout; QVBoxLayout* arucoMarkerPageLayout = new QVBoxLayout; QVBoxLayout* arucoMultiMarkerPageLayout = new QVBoxLayout; QVBoxLayout* arucoSubPageLayout = new QVBoxLayout; mFaceRecRB->setChecked( true ); arucoSubPageLayout->addWidget( mFaceRecRB ); arucoSubPageLayout->addWidget( mMarkerRB ); //arucoSubPageLayout->addWidget( mMultiMarkerRB ); arucoSubPageLayout->addWidget( mNoVideo ); arucoSubPageLayout->addLayout( mSubmodulesStackL ); kinectPageLayout->setAlignment( Qt::AlignBottom ); arucoPageLayout->setAlignment( Qt::AlignBottom ); arucoFaceRecPageLayout->setAlignment( Qt::AlignBottom ); arucoMarkerPageLayout->setAlignment( Qt::AlignBottom ); arucoMultiMarkerPageLayout->setAlignment( Qt::AlignBottom ); mModulesStackL->addWidget( kinectPageWid ); mModulesStackL->addWidget( arucoSubPageWid ); mSubmodulesStackL->addWidget( arucoFaceRecPageWid ); mSubmodulesStackL->addWidget( arucoMarkerPageWid ); //mSubmodulesStackL->addWidget( arucoMultiMarkerPageWid ); kinectPageWid->setLayout( kinectPageLayout ); arucoPageWid->setLayout( arucoPageLayout ); arucoFaceRecPageWid->setLayout( arucoFaceRecPageLayout ); arucoMarkerPageWid->setLayout( arucoMarkerPageLayout ); arucoMultiMarkerPageWid->setLayout( arucoMultiMarkerPageLayout ); arucoSubPageWid->setLayout( arucoSubPageLayout ); //set up page layouts kinectPageLayout->addWidget( mDisableCursorCB ); kinectPageLayout->addWidget( mDisableZoomCursorCB ); kinectPageLayout->addWidget( mEnableMarkerDetectCB ); kinectPageLayout->addWidget( mSpeed ); kinectPageLayout->addWidget( mKinectSnapshotPB ); kinectPageLayout->addWidget( mKinectPB ); //arucoPageLayout->addWidget( mMultiMarkerPB ); arucoFaceRecPageLayout->addWidget( mFaceDetBackgrCB ); arucoFaceRecPageLayout->addWidget( mFaceRecPB ); arucoMarkerPageLayout->addWidget( mMarkerBackgrCB ); arucoMarkerPageLayout->addWidget( mMarkerBehindCB ); arucoMarkerPageLayout->addWidget( mCorEnabledCB ); arucoMarkerPageLayout->addWidget( mUpdateCorParPB ); arucoMarkerPageLayout->addWidget( mInterchangeMarkersPB ); arucoMarkerPageLayout->addWidget( mMarkerPB ); //arucoMultiMarkerPageLayout->addWidget( mMultiMarkerPB ); if ( Util::ApplicationConfig::get()->getValue( "Viewer.SkyBox.Noise" ).toInt() < 2 ) { mMarkerBackgrCB->setDisabled( true ); } //set layout mainLayout->addLayout( buttonLayout ); mainLayout->addWidget( mWindowLabel, Qt::AlignCenter ); mainLayout->setSizeConstraint( QLayout::SetMinimumSize ); setLayout( mainLayout ); adjustSize(); //set up Widgets mUpdateCorParPB->setEnabled( false ); mFaceDetBackgrCB->setEnabled( false ); mMarkerBackgrCB->setEnabled( false ); mMarkerBehindCB->setEnabled( false ); mCorEnabledCB->setEnabled( false ); mEnableMarkerDetectCB->setEnabled( true ); mMultiMarkerPB->setCheckable( true ); mFaceRecPB->setCheckable( true ); mMarkerPB->setCheckable( true ); mKinectPB->setCheckable( true ); //set up signals to slots connect( mKinectRB, SIGNAL( clicked() ), this, SLOT( onSelModulChange() ) ); connect( mArucoRB, SIGNAL( clicked() ), this, SLOT( onSelModulChange() ) ); connect( mFaceRecRB, SIGNAL( clicked() ), this, SLOT( onSelSubModulChange() ) ); connect( mMarkerRB, SIGNAL( clicked() ), this, SLOT( onSelSubModulChange() ) ); connect( mMultiMarkerRB, SIGNAL( clicked() ), this, SLOT( onSelSubModulChange() ) ); connect( mNoVideo, SIGNAL( clicked() ), this, SLOT( onSelSubModulChange() ) ); connect( mUpdateCorParPB, SIGNAL( clicked() ), this, SLOT( onUpdateCorPar() ) ); connect( mMarkerPB, SIGNAL( clicked( bool ) ), this, SLOT( onMarkerStartCancel( bool ) ) ); connect( mFaceRecPB, SIGNAL( clicked( bool ) ), this, SLOT( onFaceRecStartCancel( bool ) ) ); connect( mMultiMarkerPB, SIGNAL( clicked( bool ) ), this, SLOT( onMultiMarkerStartCancel( bool ) ) ); connect( mKinectPB, SIGNAL( clicked( bool ) ), this, SLOT( onKinectStartCancel( bool ) ) ); connect( mKinectSnapshotPB, SIGNAL( clicked() ), this, SLOT( onKinectSnapshotPBClicked() ) ); connect( mMarkerBackgrCB, SIGNAL( clicked( bool ) ), this, SLOT( onMarkerBackgrCBClicked( bool ) ) ); connect( mFaceDetBackgrCB, SIGNAL( clicked( bool ) ), this, SLOT( onFaceDetBackgrCBClicked( bool ) ) ); connect( mEnableMarkerDetectCB, SIGNAL( clicked( bool ) ), this, SLOT( setMarkerDetection( bool ) ) ); connect( mDisableCursorCB, SIGNAL( clicked() ), this, SLOT( stopMovingCursor() ) ); connect( mDisableZoomCursorCB, SIGNAL( clicked( bool ) ), this, SLOT( stopZoom() ) ); }
void QOpenCV::FaceRecognitionWindow::configureWindow() { setModal( false ); setWindowTitle( tr( "Face Recognition and Marker Detection" ) ); mWindowLabel = new QLabel( "", this, 0 ); mFaceRecRB = new QRadioButton( tr( "Face recognition" ) ); mMarkerRB = new QRadioButton( tr( "Marker detection" ) ); mMultiMarkerRB = new QRadioButton( tr( "MultiMarker recognition" ) ); mNoVideo = new QCheckBox( tr( "NoVideo" ) ); mModulesStackL = new QStackedLayout; mFaceRecStartCancelPB = new QPushButton( tr( "Start FaceRec" ) ); mMarkerStartCancelPB = new QPushButton( tr( "Start Marker" ) ); //Garaj start mMultiMarkerStartCancelPB = new QPushButton( tr( "Start MultiMarker" ) ); //Garaj end mMarkerBackgrCB = new QCheckBox( tr( "Background" ) ); mFaceDetBackgrCB = new QCheckBox( tr( "Background" ) ); mMarkerBehindCB = new QCheckBox( tr( "Marker is behind" ) ); mCorEnabledCB = new QCheckBox( tr( "Correction" ) ); mUpdateCorParPB = new QPushButton( tr( "Update cor. param." ) ); mInterchangeMarkersPB = new QPushButton( tr( "Change Markers" ) ); QHBoxLayout* mainLayout = new QHBoxLayout; QVBoxLayout* buttonLayout = new QVBoxLayout; mFaceRecRB->setChecked( true ); buttonLayout->addWidget( mFaceRecRB ); buttonLayout->addWidget( mMarkerRB ); buttonLayout->addWidget( mMultiMarkerRB ); buttonLayout->addWidget( mNoVideo ); buttonLayout->addLayout( mModulesStackL ); // face detection and marker controll buttons QWidget* faceRecPageWid = new QWidget; QWidget* markerPageWid = new QWidget; QWidget* multimarkerPageWid = new QWidget; QVBoxLayout* faceRecPageLayout = new QVBoxLayout; QVBoxLayout* markerPageLayout = new QVBoxLayout; QVBoxLayout* multimarkerPageLayout = new QVBoxLayout; faceRecPageLayout->setAlignment( Qt::AlignBottom ); markerPageLayout->setAlignment( Qt::AlignBottom ); multimarkerPageLayout->setAlignment( Qt::AlignBottom ); mModulesStackL->addWidget( faceRecPageWid ); mModulesStackL->addWidget( markerPageWid ); mModulesStackL->addWidget( multimarkerPageWid ); faceRecPageWid->setLayout( faceRecPageLayout ); markerPageWid->setLayout( markerPageLayout ); multimarkerPageWid->setLayout( multimarkerPageLayout ); faceRecPageLayout->addWidget( mFaceDetBackgrCB ); faceRecPageLayout->addWidget( mFaceRecStartCancelPB ); markerPageLayout->addWidget( mMarkerBackgrCB ); markerPageLayout->addWidget( mMarkerBehindCB ); markerPageLayout->addWidget( mCorEnabledCB ); markerPageLayout->addWidget( mUpdateCorParPB ); markerPageLayout->addWidget( mInterchangeMarkersPB ); markerPageLayout->addWidget( mMarkerStartCancelPB ); multimarkerPageLayout->addWidget( mMultiMarkerStartCancelPB ); if ( Util::ApplicationConfig::get()->getValue( "Viewer.SkyBox.Noise" ).toInt() < 2 ) { mMarkerBackgrCB->setDisabled( true ); } // set layout mainLayout->addLayout( buttonLayout ); mainLayout->addWidget( mWindowLabel, Qt::AlignCenter ); mainLayout->setSizeConstraint( QLayout::SetMinimumSize ); setLayout( mainLayout ); adjustSize(); // this could be changed mFaceDetBackgrCB->setEnabled( false ); mMarkerBackgrCB->setEnabled( false ); mFaceDetBackgrCB->setChecked( false ); mMarkerBackgrCB->setChecked( false ); mFaceRecStartCancelPB->setCheckable( true ); mMarkerStartCancelPB->setCheckable( true ); mMultiMarkerStartCancelPB->setCheckable( true ); mMarkerBehindCB->setEnabled( false ); mCorEnabledCB->setEnabled( false ); mUpdateCorParPB->setEnabled( false ); // connections on private slots connect( mFaceRecRB, SIGNAL( clicked() ), this, SLOT( onSelModulChange() ) ); connect( mMarkerRB, SIGNAL( clicked() ), this, SLOT( onSelModulChange() ) ); connect( mMultiMarkerRB, SIGNAL( clicked() ), this, SLOT( onSelModulChange() ) ); connect( mNoVideo, SIGNAL( clicked() ), this, SLOT( onSelModulChange() ) ); connect( mUpdateCorParPB, SIGNAL( clicked() ), this, SLOT( onUpdateCorPar() ) ); connect( mMarkerStartCancelPB, SIGNAL( clicked( bool ) ), this, SLOT( onMarkerStartCancel( bool ) ) ); connect( mFaceRecStartCancelPB, SIGNAL( clicked( bool ) ), this, SLOT( onFaceRecStartCancel( bool ) ) ); connect( mMultiMarkerStartCancelPB, SIGNAL( clicked( bool ) ), this, SLOT( onMultiMarkerStartCancel( bool ) ) ); connect( mMarkerBackgrCB, SIGNAL( clicked( bool ) ), this, SLOT( onMarkerBackgrCBClicked( bool ) ) ); connect( mFaceDetBackgrCB, SIGNAL( clicked( bool ) ), this, SLOT( onFaceDetBackgrCBClicked( bool ) ) ); }