1. 程式人生 > >關於EMGU CV的那些事——3.不同角點檢測演算法比較

關於EMGU CV的那些事——3.不同角點檢測演算法比較

最近幾個月一直忙著研究,現在將這幾個月的學習過程一一分享出來~

博主之前用C#和EmguCV測試了不同的角點檢測演算法並比較了他們的效能和用時。Harris不具備尺度不變性,Fast是harris的簡化版,速度快但是沒有旋轉不變性和尺度不變性。Sift依舊好用但是速度慢,Surf簡化了Sift的一些步驟提高了速度但依舊不能達到實時效果(30FPS)。Orb使用改進的fast檢測子和brief描述子,保證效能的同時大大提高了速度。最終我們選用Orb演算法。(演算法的具體原理,博主在這裡學到了很多知識,感謝Ronny)

在第一個程式中,我們手動選擇影象,使用上述5中演算法分別檢測角點畫在影象上並顯示用時。


第二個程式中,我們從攝像頭中讀取影象,使用Fast,Orb演算法實時檢測角點畫在影象上,結束時顯示用時(需先點選介面右上角開啟攝像頭)。


第三個程式中,我們使用ORB演算法(引數可在介面上設定:minRatio是指利用knnmatch函式找到的最佳兩個匹配候補點的漢明距離之比,maxDistance是指匹配點對中匹配點的歐幾里德距離)檢測兩幅影象中的角點,使用BF匹配演算法查詢最佳的匹配點對,然後將匹配點對畫在影象上。


從下一節開始我將使用C++和OpenCV繼續我的學習,畢竟OpenCV的學習資料比EmguCV多了很多,我也不用花很多時間在檢視EmguCV的API文件上。暫時不會使用到Unity了而且從下節開始我將記錄如何實現另類版本的PTAM。

相關推薦

關於EMGU CV那些——3.不同檢測演算法比較

最近幾個月一直忙著研究,現在將這幾個月的學習過程一一分享出來~ 博主之前用C#和EmguCV測試了不同的角點檢測演算法並比較了他們的效能和用時。Harris不具備尺度不變性,Fast是harris的簡化版,速度快但是沒有旋轉不變性和尺度不變性。Sift依舊好用但是速度慢,S

cv::cornerSubPix()亞畫素檢測

轉自https://blog.csdn.net/guduruyu/article/details/69537083 cv::goodFeaturesToTrack()提取到的角點只能達到畫素級別,在很多情況下並不能滿足實際的需求,這時,我們則需要使用cv::cornerSubPix()對檢測到的角點

Moravec檢測演算法

一、Moravec角點檢測演算法原理     Moravec角點檢測演算法的思想是: 在影象中設計一個區域性檢測視窗,當該視窗沿各個方向作微小移動時 , 考查視窗的平均能量變化,當該能量變化值超過設定的閾值時,就將視窗的中心畫素點提取為角點。    

Harris檢測演算法詳解

Harris角點演算法 特徵點檢測廣泛應用到目標匹配、目標跟蹤、三維重建等應用中,在進行目標建模時會對影象進行目標特徵的提取,常用的有顏色、角點、特徵點、輪廓、紋理等特徵。現在開始講解常用的特徵點檢測,其中Harris角點檢測是特徵點檢測的基礎,提出了應用鄰近畫素

Harris檢測演算法

Harris演算法是使用比較多的角點演算法之一,opencv中實現的角點檢測演算法就是Harris和它的改進。 Harris角點檢測的原理: Harris 角點最初由Harris在A combined corner and edge detector一文中提出,該文實

檢測演算法及其描述子評估介紹

我以前的部落格裡面介紹了大量的角點檢測演算法和其區域性描述子設計方法,這裡將摘錄其各自的論文和相關綜述文章內的實驗估評估,然後給出自己的一些總結。(特別多的圖>O<) 一、角點檢測子的效果評估 1.1 Harris同SIFT、FAST、SURF等角點檢測方法匹

mysql那些(3)小數如何存儲

目前 class div 情況下 浮點 oat 如果 存儲 兩位小數 創建mysql數據表的時候,經常會遇到存儲小數(浮點數)的情況,如:價格,重量,身高等。 目前大的公司流行三種存儲方案: 1、將數據擴大10的倍數達到使用整數類型存儲目的。 比如價格,我們經常以分為單位進

資料採集與分析的那些——從資料埋到AB測試

作者:網易有數鄭棟。 一、為什麼企業需要一套完善的使用者行為埋點和分析平臺 產品初創期間,需要分析天使使用者的行為來改進產品,甚至從使用者行為中得到新的思路或發現來調整產品方向;產品成長過程,通過對使用者行為的多角度(多維)分析、對使用者群體的劃分以及相應行為特徵的分析和比較,來指導產品設計、運營活動,並

談談Android開發中的Gradle那些不同BuildType編譯出不同版本號的apk

今天我們要來談談 如何讓不同的BuildType編譯出不同的版本號 沒搞錯吧?這有什麼用??為什麼會有這樣的需求??? 不想當產品的QA不是一個好RD RD不只是PM的RD, QA也總能在非常時期提出一些非常獨(坑)特(爹)的需求,而我們只能說沒問題!(: 男人怎

Harris檢測的實現(cv::Mat && c++)

原文連結或Google “A COMBINED CORNER AND EDGE DETECTOR”可以找到Harris角點檢測的論文。 簡單的概括一下,Harris角點檢測的原理為,通過計算論文中的R來判斷某一個畫素點是否為角點,通常情況下,當R為正數且較大時,該點為角點。

【OpenCV3】檢測——cv::goodFeaturesToTrack()與cv::cornerSubPix()詳解

一提到角點檢測,最常用的方法莫過於Harris角點檢測,opencv中也提供了Harris角點檢測的介面,即cv::cornerHarris(),但是Harris角點檢測存在很多缺陷(如角點是畫素級別

OpenCV探索之路(十五):檢測

回調函數 閾值 source and 類型 幾何 擁有 .com named 角點檢測是計算機視覺系統中用來獲取圖像特征的一種方法。我們都常說,這幅圖像很有特點,但是一問他到底有哪些特點,或者這幅圖有哪些特征可以讓你一下子就識別出該物體,你可能就說不出來了。其實說圖像的特征

day6 檢測

plot troy none 變化 blog 類型 logs destroy 取值 1.Harris角點檢測 # coding=utf-8 import cv2 import numpy as np filename = ‘pic5.png‘ #1.讀入一個灰度

Harris及Shi-Tomasi檢測(轉)

wid fast 進度 -cp 成了 out gif 角點檢測 自定義 一、角點定義 有定義角點的幾段話: 1、角點檢測(Corner Detection)是計算機視覺系統中用來獲得圖像特征的一種方法,廣泛應用於運動檢測、圖像匹配、視頻跟蹤、三維建模和目標識別等領域中。也

OpenCV檢測源代碼分析(Harris和ShiTomasi

mine res output 判斷 代數 void pos tar def OpenCV中常用的角點檢測為Harris角點和ShiTomasi角點。 以OpenCV源代碼文件 .\opencv\sources\samples\cpp\tutorial_code\Track

第十一節、Harris檢測原理

str 物體 per 權重 模式 windows www http 特定 OpenCV可以檢測圖像的主要特征,然後提取這些特征、使其成為圖像描述符,這類似於人的眼睛和大腦。這些圖像特征可作為圖像搜索的數據庫。此外,人們可以利用這些關鍵點將圖像拼接起來,組成一個更大的圖像,比

opencv-檢測之Harris檢測

trunc get data 圖像旋轉 ror 協方差矩陣 -a double 特定 轉自:https://blog.csdn.net/poem_qianmo/article/details/29356187 先看看程序運行截圖: 一、引言:關於興趣點(i

opencv亞像素級檢測

調用 因此 像素 har mas 使用 精確 tom pix 一般角點檢測: harris cv::cornerHarris() shi-tomasi cv::goodFeaturesToTrack() 亞像素級角點檢測是在一般角點檢測基礎之上將檢測出的角點精確到亞像素

Opencv Harris檢測

demo one pla fault end ges for using opencv #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namesp

Opencv2D特徵框架---Shi-Tomasi檢測

程式碼 #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> #include <st