欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

opencv3/C++ 實現(xiàn)SURF特征檢測

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

SURF即Speeded Up Robust Features加速魯棒特征;

SURF可以用于對象定位和識別、人臉識別、3D重建、對象跟蹤和提取興趣點等。

工作原理:

1、選擇圖像中POI(Points of Interest) Hessian Matrix;

2、在不同的尺度空間發(fā)現(xiàn)關(guān)鍵點,非最大信號壓制;

3、發(fā)現(xiàn)特征點方法、旋轉(zhuǎn)不變性要求;

4、生成特征向量;

類SURF中成員函數(shù)create()參數(shù)說明:

static Ptr<SURF> create(
double hessianThreshold=100,//SURF中使用的hessian關(guān)鍵點檢測器的閾值
int nOctaves = 4, //關(guān)鍵點檢測器將使用的金字塔組數(shù)量
int nOctaveLayers = 3,//高斯金字塔每個組內(nèi)圖像的層數(shù)
bool extended = false, //擴(kuò)展描述符標(biāo)志(true使用擴(kuò)展的128個元素的描述符,false使用64個元素的描述符)
bool upright = false//旋轉(zhuǎn)的特征標(biāo)志(true不計算方向,false計算方向)
);

函數(shù)detect()用來檢測圖像或圖像集中的關(guān)鍵點。

基類Feature2D中成員函數(shù)detect()參數(shù)說明:

void detect( 
InputArray image,//圖像
CV_OUT std::vector<KeyPoint>& keypoints,//檢測到的關(guān)鍵點,(在圖像集中關(guān)鍵點[i]是在圖像[i]中檢測到的一組關(guān)鍵點)
InputArray mask=noArray() //指定在哪里尋找關(guān)鍵點的掩碼(必須是在感興趣區(qū)域中具有非零值的8位整數(shù)矩陣)
);

函數(shù)drawKeypoints()的參數(shù)說明:

void drawKeypoints( 
InputArray image, //源圖像
const std::vector<KeyPoint>& keypoints, //來自源圖像的關(guān)鍵點
InputOutputArray outImage,//輸出圖像
const Scalar& color=Scalar::all(-1), //關(guān)鍵點的顏色
int flags=DrawMatchesFlags::DEFAULT //設(shè)置繪圖功能的標(biāo)志
);

函數(shù)drawKeypoints()用來繪制關(guān)鍵點。

SURF特征檢測示例:

#include<opencv2/opencv.hpp>
#include<opencv2/xfeatures2d.hpp>
using namespace cv;
using namespace cv::xfeatures2d;

Mat src;
int minHessian = 50;
void trackBar(int, void*);
int main()
{
 src = imread("E:/image/image/bdb.jpg");
 if (src.empty())
 {
  printf("can not load image \n");
  return -1;
 }
 namedWindow("input", WINDOW_AUTOSIZE);
 imshow("input", src);

 namedWindow("output", WINDOW_AUTOSIZE);
 createTrackbar("minHessian","output",&minHessian, 500, trackBar);

 waitKey(0);
 return 0;
}


void trackBar(int, void*)
{
 Mat dst;
 // SURF特征檢測
 Ptr<SURF> detector = SURF::create(minHessian);
 std::vector<KeyPoint> keypoints;
 detector->detect(src, keypoints, Mat());
 // 繪制關(guān)鍵點
 drawKeypoints(src, keypoints, dst, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
 imshow("output", dst);
}

以上這篇opencv3/C++ 實現(xiàn)SURF特征檢測就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。

上一篇:QString的常用方法(小結(jié))

欄    目:C語言

下一篇:opencv3/C++輪廓的提取與篩選方式

本文標(biāo)題:opencv3/C++ 實現(xiàn)SURF特征檢測

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/100.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有