本文整理汇总了C++中ImageProcessor::angle方法的典型用法代码示例。如果您正苦于以下问题:C++ ImageProcessor::angle方法的具体用法?C++ ImageProcessor::angle怎么用?C++ ImageProcessor::angle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImageProcessor
的用法示例。
在下文中一共展示了ImageProcessor::angle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
if (argc != 2) {
exit(1);
}
signal(SIGINT, intHandler);
std::string arg = argv[1];
cv::VideoCapture capture(arg); //try to open string, this will attempt
if (!capture.isOpened()) //if this fails, try to open as a video camera
capture.open(atoi(arg.c_str()));
if (!capture.isOpened()) {
std::cerr << "Failed to open a video device or video file!\n" << std::endl;
return 1;
}
ImageProcessor *ip = new HSV_Region_Processor_Min_Alloc(capture);
BotController *bt = new BotController();
Region *dp;
cv::Mat frame;
ip->initialiseWindow();
std::vector<Region *> *regionList;
while (keepRunning) {
capture >> frame;
ip->cleanRegionList();
regionList = ip->processFrame(frame);
std::sort(regionList->begin(), regionList->end(), compareBySize);
dp = (*regionList)[0];
if (dp != NULL && dp->getSize() > 100) {
double angle = ip->angle(frame, *dp);
double distance = ip->distance(frame, *dp);
std::cout << angle << " - " << distance << std::endl;
bt->move(angle, distance);
ip->drawArrow(frame, angle, distance);
//ip->saveFrame(frame);
} else {
std::cout << "No object found, sitting still" << std::endl;
bt->stop();
}
ip->drawFrame(frame);
cv::waitKey(5);
// ip->processKeys(frame);
}
std::cout << "Shutting down" << std::endl;
bt->stop();
}