Example #1
0
void main()
{
    // viewerを作る
    pcl::visualization::CloudViewer viewer( "OpenNI Viewer" );

    // データ更新のコールバック関数
    boost::function<void (const pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr&)> f = 
        [&viewer](const pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr &cloud) {
            if (!viewer.wasStopped()) {
                pcl::PointCloud<pcl::PointXYZRGB> segmented_cloud( *cloud );
                segmentate( segmented_cloud, 0.01 );
                viewer.showCloud( segmented_cloud.makeShared() );
            }
    };

    // OpenNIの入力を作る
    pcl::Grabber* interface = new pcl::OpenNIGrabber();
    interface->registerCallback( f );
    interface->start();
    while ( !viewer.wasStopped() ) {
        Sleep( 0 );
    }

    interface->stop();
}
Example #2
0
// Init components
void UserForm::init()
{
	connect(m_ui->actionQuit, SIGNAL(triggered()), this, SLOT(close()));
	logicCore = new LogicCore(this);
	connect(m_ui->actionPreprocessing,SIGNAL(triggered()), logicCore,
			SLOT(preprocess()));
	connect(m_ui->actionSegmentation,SIGNAL(triggered()), logicCore,
			SLOT(segmentate()));
	connect(m_ui->actionRecognition,SIGNAL(triggered()), logicCore,
			SLOT(classify()));
	connect(m_ui->tbSaveResultsAs,SIGNAL(clicked()), logicCore,
			SLOT(saveResults()));
}