溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

OpenCV特征提取與檢測

發(fā)布時間:2021-08-19 14:07:30 來源:億速云 閱讀:163 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“OpenCV特征提取與檢測”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“OpenCV特征提取與檢測”吧!

前言

 角點通常被定義為兩條邊的交點,或者說,角點的局部鄰域應(yīng)該具有兩個不同區(qū)域的不同方向的邊界。角點檢測(Corner Detection)是計算機視覺系統(tǒng)中獲取圖像特征的一種方法,廣泛應(yīng)用于運動檢測、圖像匹配、視頻跟蹤、三維重建和目標識別等,也可稱為特征點檢測。

角點檢測算法的基本思想:

使用一個固定窗口在圖像上進行任意方向上的滑動,比較滑動前與滑動后兩種情況,窗口中的像素灰度變化程度,如果存在任意方向上的滑動,都有著較大灰度變化,那么我們可以認為該窗口中存在角點。

目前,角點檢測算法還不是十分完善,許多算法需要依賴大量的訓(xùn)練集和冗余數(shù)據(jù)來防止和減少錯誤的特征的出現(xiàn)。對于角點檢測算法的重要評價標準是:其對多幅圖像中相同或者相似特征的檢測能力,并且能夠應(yīng)對光照變化、或者圖像旋轉(zhuǎn)等影響。

關(guān)于角點的具體描述可以有幾種:

  • 一階導(dǎo)數(shù)(即灰度的梯度)的局部最大所對應(yīng)的像素點;

  • 兩條及兩條以上邊緣的交點;

  • 圖像中梯度值和梯度方向的變化速率都很高的點;

  • 角點處的一階導(dǎo)數(shù)最大,二階導(dǎo)數(shù)為零,指示物體邊緣變化不連續(xù)的方向

上一篇文章介紹了Harris角點檢測器,這篇文章將介紹另一個角點檢測器:Shi-Tomasi角點檢測器。

Shi-Tomasi角點檢測器是Harris角點檢測器的優(yōu)化,效果更好;

cv2.goodFeaturesToTrack(),通過Shi-Tomasi方法(或者Harris角點檢測)在圖像中找到N個最強的角點。并且在跟蹤對象方面性能很好。

1. 效果圖

原圖 VS Harris角點檢測器效果如下:

OpenCV特征提取與檢測

原圖 VS Shi-Tomasi角點檢測效果圖如下:

可以看出Shi-Tomasi確實效果要好一些,所有角點均被成功檢測;

OpenCV特征提取與檢測

2. 源碼

# Shi-Tomasi角點檢測是Harris角點檢測的優(yōu)化,更準確,會檢測出N個最強角點;

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('images/polygon.jpg')

plt.subplot(1, 2, 1)
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.xticks([])
plt.yticks([])
plt.title("origin")

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

corners = cv2.goodFeaturesToTrack(gray, 25, 0.01, 10)
corners = np.int0(corners)

for i in corners:
    x, y = i.ravel()
    cv2.circle(img, (x, y), 3, 255, -1)

plt.subplot(1,2,2)
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.xticks([])
plt.yticks([])
plt.title("Shi-Tomasi res")
plt.show()

到此,相信大家對“OpenCV特征提取與檢測”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI