当前位置: 首页>>代码示例>>C++>>正文


C++ Tracker::drawParticles方法代码示例

本文整理汇总了C++中Tracker::drawParticles方法的典型用法代码示例。如果您正苦于以下问题:C++ Tracker::drawParticles方法的具体用法?C++ Tracker::drawParticles怎么用?C++ Tracker::drawParticles使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Tracker的用法示例。


在下文中一共展示了Tracker::drawParticles方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main


//.........这里部分代码省略.........
			instancia[3].index=-1;

			instancia[0].value=piernas[j].getContorno();
			instancia[1].value=piernas[j].getAncho();
			instancia[2].value=piernas[j].getProfundidad();

			target=svm_predict(model,instancia);

			if(target==1){
				// El clasificador SVM lo reconoce como pierna
				piernasPlot.plot(px,py,formato[j%2]);
			}
			else{
				// No es una pierna, lo elimino del vector
				piernas.erase(piernas.begin()+j);
				j--;
			}
			f++;

		}


		vector<CPose2D> personas=detector.buscarPersonas(piernas);
		cout << "Personas detectadas: " << personas.size() << endl;



		detector.printClusters(piernas);
		px.clear();
		py.clear();
		for(int k=0;k < personas.size(); k++){
			px.push_back(personas[k].x());
			py.push_back(personas[k].y());
		}
		piernasPlot.plot(px,py,".c4");
		personasPlot.plot(px,py,".r4");


		// Filtro de Partículas
		if(!filtroInicializado){
			// Filtro no inicializado aún
			// Compruebo si se ha detectado persona
			if(!personas.empty()){
				seguidor.inicializar(50,personas[0]);
				filtroInicializado=true;
				seguidor.drawParticles(&personasPlot);
			}

		}
		else{
			CPose2D objetivo;
			// Filtro ya inicializado
			if(personas.empty()){
				// No se ha detectado persona
				objetivo=seguidor.obtenerPosicionEstimada(CPose2D(),false);
			}
			else{
				objetivo=seguidor.obtenerPosicionEstimada(personas[0],true);
			}
			seguidor.drawParticles(&personasPlot);
			px.clear();
			py.clear();
			px.push_back(objetivo.x());
			py.push_back(objetivo.y());

			personasPlot.plot(px,py,".k8");
		}




		medidasPlot.axis(-0.5,4,-4,4);
		clusterPlot.axis(-0.5,3,-3,3);
		piernasPlot.axis(-0.5,3,-3,3);
		personasPlot.axis(-0.5,3,-3,3);

		cout << "Tiempo total (ms): " << timer.Tac()*1000 << endl;


		cout << "Presione cualquier tecla para pasar a la siguiente muestra" << endl;

		mrpt::system::os::getch();

	}


	//print_vector("%f\t",ancho);



	//plot1.axis(-0.1,0.5,-0.1,0.5);
	//plot2.axis(-0.1,0.5,-0.1,0.5);


	cout << "Presione cualquier tecla para terminar:" << endl;

	mrpt::system::os::getch();


}
开发者ID:silverboy,项目名称:ParticleFilter,代码行数:101,代码来源:testPF.cpp


注:本文中的Tracker::drawParticles方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。