opencv實(shí)現(xiàn)角點(diǎn)檢測(cè)
本文實(shí)例為大家分享了opencv實(shí)現(xiàn)角點(diǎn)檢測(cè)的具體代碼,供大家參考,具體內(nèi)容如下
1、特征點(diǎn)的作用:使用特征點(diǎn)代表圖像內(nèi)容
運(yùn)動(dòng)目標(biāo)跟蹤
物體識(shí)別
圖像配準(zhǔn)
全景圖像拼接
三維重建
2、Harris角點(diǎn)檢測(cè)基本思想
角點(diǎn)定義 :窗口向任意方向的移動(dòng)都導(dǎo)致圖像灰度的明顯變化


平坦區(qū)域:任意方向移動(dòng),無灰度變化

邊緣:
沿著邊緣方向移動(dòng),無灰度變化








#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;//檢測(cè)到的角點(diǎn)
? ? int maxConers = 300;//檢測(cè)角點(diǎn)上限
? ? double qualityLevel = 0.1;//最小特征值
? ? double minDistance = 10;//最小距離
? ? while (true)
? ? {
? ? ? ? vidcap >> src_image;
? ? ? ? cvtColor( src_image, gray_image, CV_BGR2GRAY);//轉(zhuǎn)換為灰度圖
? ? ? ? //Shi-Tomasi角點(diǎn)檢測(cè)
? ? ? ? goodFeaturesToTrack( gray_image, conners, maxConers, qualityLevel, minDistance);
? ? ? ? //cout<<"檢測(cè)到的角點(diǎn)坐標(biāo):"<<conners<<endl;
? ? ? ? //角點(diǎn)繪制
? ? ? ? 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( "角點(diǎn)檢測(cè)", src_image );
? ? ? ? waitKey(10);
? ? }
? ? return 0;
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)
- OpenCV角點(diǎn)檢測(cè)的實(shí)現(xiàn)示例
- Python中OpenCV圖像特征和harris角點(diǎn)檢測(cè)
- OpenCV半小時(shí)掌握基本操作之角點(diǎn)檢測(cè)
- OpenCV特征提取與檢測(cè)之Shi-Tomasi角點(diǎn)檢測(cè)器
- OpenCV特征提取與檢測(cè)之Harris角點(diǎn)檢測(cè)
- Android基于OpenCV實(shí)現(xiàn)Harris角點(diǎn)檢測(cè)
- python opencv角點(diǎn)檢測(cè)連線功能的實(shí)現(xiàn)代碼
- OpenCV哈里斯(Harris)角點(diǎn)檢測(cè)的實(shí)現(xiàn)
- OpenCV實(shí)現(xiàn)圖像角點(diǎn)檢測(cè)
相關(guān)文章
深入C++四種強(qiáng)制類型轉(zhuǎn)換的總結(jié)
本篇文章是對(duì)C++中四種強(qiáng)制類型轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C++ Boost Algorithm算法超詳細(xì)精講
Boost.Algorithm 提供了補(bǔ)充標(biāo)準(zhǔn)庫算法的算法。與 Boost.Range 不同,Boost.Algorithm 沒有引入新概念。 Boost.Algorithm 定義的算法類似于標(biāo)準(zhǔn)庫中的算法2022-10-10
Qt實(shí)現(xiàn)簡(jiǎn)易秒表設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)簡(jiǎn)易秒表設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
C/C++標(biāo)準(zhǔn)庫之轉(zhuǎn)換UTC時(shí)間到local本地時(shí)間詳解
最近遇到一個(gè)問題:數(shù)據(jù)庫中存放的時(shí)間為UTC時(shí)間,但是現(xiàn)在要求都出來顯示的時(shí)間為本地時(shí)間,所以就用C++實(shí)現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于C/C++標(biāo)準(zhǔn)庫之轉(zhuǎn)換UTC時(shí)間到local本地時(shí)間的方法,還有C++中獲取UTC時(shí)間精確到微秒的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2017-11-11
C語言實(shí)現(xiàn)五子棋人人對(duì)戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)五子棋人人對(duì)戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
C++詳細(xì)講解互斥量與lock_guard類模板及死鎖
線程的主要優(yōu)勢(shì)在于,能夠通過全局變量來共享信息。不過,這種便捷的共享是有代價(jià)的:必須確保多個(gè)線程不會(huì)同時(shí)修改同一變量,或者某一線程不會(huì)讀取正由其他線程修改的變量。為了防止出現(xiàn)線程某甲試圖訪 問一共享變量時(shí),線程某乙正在對(duì)其進(jìn)行修改。引入了互斥量2022-07-07
C++實(shí)現(xiàn)LeetCode(49.群組錯(cuò)位詞)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(49.群組錯(cuò)位詞),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07

