本文整理汇总了C++中ImageProcessor::distance方法的典型用法代码示例。如果您正苦于以下问题:C++ ImageProcessor::distance方法的具体用法?C++ ImageProcessor::distance怎么用?C++ ImageProcessor::distance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImageProcessor
的用法示例。
在下文中一共展示了ImageProcessor::distance方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testDistance
/*
* tests the distance() function
*/
void testDistance(){
double result = imageProcessor.distance(cv::Point(100, 15), cv::Point(75, 36));
assert(result < 32.64 + DELTA && result > 32.64 - DELTA);
result = imageProcessor.distance(cv::Point(3, 5), cv::Point(9, 7));
assert(result < 6.32 + DELTA && result > 6.32 - DELTA);
result = imageProcessor.distance(cv::Point(572, 641), cv::Point(894, 127));
assert(result < 606.53 + DELTA && result > 606.53 - DELTA);
printf("distance() test passed.\n");
}
示例2: 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();
}