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


C++ Ptr::process方法代码示例

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


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

示例1: findAprilTag

bool findAprilTag(Mat &image, int targetID, Mat &ret, bool draw=false, int errorThresh=0) {
	vector<TagDetection> detections;
	double opticalCenter[2] = { image.cols/2.0, image.rows/2.0 };
	detector->process(image, opticalCenter, detections);

	for(int id=0; id<(int)detections.size(); ++id) {
		TagDetection &dd = detections[id];
		if(dd.id!=targetID) continue;
		if(dd.hammingDistance>errorThresh) continue; //very strict!

		if(draw) {
			for(int i=0; i<4; ++i) {
				int j = (i+1)%4;
				Point r1(dd.p[i][0],dd.p[i][1]);
				Point r2(dd.p[j][0],dd.p[j][1]);
				line( image, r1, r2, helper::CV_RED, 2 );
			}
			cv::putText( image, helper::num2str(dd.id), cv::Point(dd.cxy[0],dd.cxy[1]), CV_FONT_NORMAL, 1, helper::CV_BLUE, 2 );
		}

		cv::Mat tmp(3,3,CV_64FC1, (double*)dd.homography[0]);
		double vm[] = {1,0,dd.hxy[0],0,1,dd.hxy[1],0,0,1};
		ret = cv::Mat(3,3,CV_64FC1,vm) * tmp;
		return true;
	}
	return false;
}
开发者ID:andrewjchen,项目名称:ethzasl_apriltag,代码行数:27,代码来源:main.cpp


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