opencv實現(xiàn)角點檢測
更新時間:2022年08月01日 17:05:42 作者:BHY_
這篇文章主要為大家詳細介紹了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)文章
C/C++標(biāo)準(zhǔn)庫之轉(zhuǎn)換UTC時間到local本地時間詳解
最近遇到一個問題:數(shù)據(jù)庫中存放的時間為UTC時間,但是現(xiàn)在要求都出來顯示的時間為本地時間,所以就用C++實現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于C/C++標(biāo)準(zhǔn)庫之轉(zhuǎn)換UTC時間到local本地時間的方法,還有C++中獲取UTC時間精確到微秒的實現(xiàn)代碼,需要的朋友可以參考下。2017-11-11

