本文整理汇总了C++中cv::Ptr::release方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::release方法的具体用法?C++ Ptr::release怎么用?C++ Ptr::release使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cv::Ptr
的用法示例。
在下文中一共展示了Ptr::release方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: destroy
/*
* Destroys annotator
*/
TyErrorId destroy()
{
outInfo("destroy");
detector.release();
extractor.release();
return UIMA_ERR_NONE;
}
示例2: releaseAllAlgs
void App::releaseAllAlgs()
{
mog_cpu = cv::BackgroundSubtractorMOG();
mog_gpu.release();
//mog2_cpu = cv::BackgroundSubtractorMOG2();
//mog2_gpu.release();
fgd_gpu.release();
fgd_cpu.release();
//gmg_gpu.release();
//gmg_cpu.release();
vibe_gpu.release();
}
示例3: main
//.........这里部分代码省略.........
device_id = atoi(argv[4]);
}
}
}
else
{
std::cout << "No command has been specified. use -file or -video" << std::endl;
system("pause");
exit(0);
}
// Read the filenames inside the teach database directory.
std::vector<std::string> ref_filename;
readDirFiles(teachdb_folder, &ref_filename);
// Read the filenames inside the query database directory.
std::vector<std::string> query_filename;
readDirFiles(querydb_folder, &query_filename);
//*************************************************************************
// 2. Create a detector and a descriptor extractor
// In this case, the SIFT detector and extractor are used
// Corner detector
if(_ftype == SIFT)_detector = new cv::SiftFeatureDetector(_num_feature, _octaves, _contrast_threshold, _edge_threshold, _sigma);
else if(_ftype == SURF)_detector = new cv::SurfFeatureDetector( _hessianThreshold, _surf_Octaves, _surf_OctaveLayers, _surf_extended, _surf_upright );
else if(_ftype == ORB)_detector = new cv::OrbFeatureDetector(1000);
// Corner extractor
if(_ftype == SIFT) _extractor = new cv::SiftDescriptorExtractor(_num_feature, _octaves, _contrast_threshold, _edge_threshold, _sigma);
else if(_ftype == SURF) _extractor = new cv::SurfDescriptorExtractor( _hessianThreshold, _surf_Octaves, _surf_OctaveLayers, _surf_extended, _surf_upright );
else if(_ftype == ORB)_extractor = new cv::OrbDescriptorExtractor(1000);
// Check whether files are in the database list.
if(ref_filename.size() == 0)
{
std::cout << "STOP: no files in the reference database!!! Specify a folder or a set of files." << std::cout;
system("pause");
return -1;
}
//*************************************************************************
// 3. Init the database
// The code reads all the images in ref_filename, detect keypoints, extract descriptors and
// stores them in the datbase variables.
init_database(std::string(teachdb_folder), ref_filename);
//*************************************************************************
// 4. The data of the database _descriptorsRefDB is added to the featue matcher
// and the mathcer is trained
_matcher.add(_descriptorsRefDB);
_matcher.train();
// Read the number of reference images in the database
_num_ref_images = _matcher.getTrainDescriptors().size();
//*************************************************************************
// 5. Here we run the matching.
// for images from files
if(!run_video)
{
if(_mtype == KNN)run_matching( querydb_folder, query_filename);
else if(_mtype == BRUTEFORCE) run_bf_matching(querydb_folder, query_filename);
else
{
std::cout << "No matching type specified. Specify a matching type" << std::endl;
system("pause");
}
}
else
// and image from a video camera
{
if(_mtype == KNN)run_matching( device_id);
else if(_mtype == BRUTEFORCE) run_bf_matching(device_id);
else
{
std::cout << "No matching type specified. Specify a matching type" << std::endl;
system("pause");
}
}
//*************************************************************************
// 6. Cleanup: release the keypoint detector and feature descriptor extractor
_extractor.release();
_detector.release();
return 1;
}