opencv實現(xiàn)角點檢測
本文實例為大家分享了opencv實現(xiàn)角點檢測的具體代碼,供大家參考,具體內(nèi)容如下
1、特征點的作用:使用特征點代表圖像內(nèi)容
運動目標(biāo)跟蹤
物體識別
圖像配準(zhǔn)
全景圖像拼接
三維重建
2、Harris角點檢測基本思想
角點定義 :窗口向任意方向的移動都導(dǎo)致圖像灰度的明顯變化
平坦區(qū)域:任意方向移動,無灰度變化
邊緣:
沿著邊緣方向移動,無灰度變化
#include "opencv2/opencv.hpp" #include <iostream> using namespace cv; using namespace std; //全局變量 int main() { ? ? Mat src_image ; ? ? Mat gray_image ; ? ? VideoCapture vidcap(0); ? ? vector<Point2f> conners;//檢測到的角點 ? ? int maxConers = 300;//檢測角點上限 ? ? double qualityLevel = 0.1;//最小特征值 ? ? double minDistance = 10;//最小距離 ? ? while (true) ? ? { ? ? ? ? vidcap >> src_image; ? ? ? ? cvtColor( src_image, gray_image, CV_BGR2GRAY);//轉(zhuǎn)換為灰度圖 ? ? ? ? //Shi-Tomasi角點檢測 ? ? ? ? goodFeaturesToTrack( gray_image, conners, maxConers, qualityLevel, minDistance); ? ? ? ? //cout<<"檢測到的角點坐標(biāo):"<<conners<<endl; ? ? ? ? //角點繪制 ? ? ? ? for (int i = 0; i < conners.size(); i++) ? ? ? ? { ? ? ? ? ? ? circle( src_image, conners[i], 3, Scalar(255&rand(),255&rand(),255&rand()), 2, 8, 0); ? ? ? ? } ? ? ? ? imshow( "角點檢測", src_image ); ? ? ? ? waitKey(10); ? ? } ? ? return 0; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在1個Matlab m文件中定義多個函數(shù)直接運行的操作方法
這篇文章主要介紹了如何在1個Matlab m文件中定義多個函數(shù)直接運行,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12C語言中的結(jié)構(gòu)體的入門學(xué)習(xí)教程
這篇文章主要介紹了C語言中的結(jié)構(gòu)體的入門學(xué)習(xí)教程,以struct語句定義的結(jié)構(gòu)體是C語言編程中的重要基礎(chǔ),需要的朋友可以參考下2015-12-12c++將vector迭代器轉(zhuǎn)換為指針的實現(xiàn)方式
這篇文章主要介紹了c++將vector迭代器轉(zhuǎn)換為指針的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11C++實現(xiàn)LeetCode(68.文本左右對齊)
這篇文章主要介紹了C++實現(xiàn)LeetCode(68.文本左右對齊),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07