佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > OpenCV特征提取與檢測之Shi-Tomasi角點檢測器

OpenCV特征提取與檢測之Shi-Tomasi角點檢測器

熱門標簽:美圖手機 服務器配置 智能手機 鐵路電話系統(tǒng) 檢查注冊表項 網站文章發(fā)布 呼叫中心市場需求 銀行業(yè)務

前言

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

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

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

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

關于角點的具體描述可以有幾種:

  • 一階導數(shù)(即灰度的梯度)的局部最大所對應的像素點;
  • 兩條及兩條以上邊緣的交點;
  • 圖像中梯度值和梯度方向的變化速率都很高的點;
  • 角點處的一階導數(shù)最大,二階導數(shù)為零,指示物體邊緣變化不連續(xù)的方向

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

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

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

1. 效果圖

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

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

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

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()

參考 https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.html#shi-tomasi

總結

到此這篇關于OpenCV特征提取與檢測之Shi-Tomasi角點檢測器的文章就介紹到這了,更多相關OpenCV Shi-Tomasi角點檢測器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • OpenCV特征提取與檢測之Harris角點檢測
  • python opencv角點檢測連線功能的實現(xiàn)代碼
  • OpenCV哈里斯(Harris)角點檢測的實現(xiàn)
  • OpenCV半小時掌握基本操作之角點檢測

標簽:河南 長治 沈陽 滄州 上海 樂山 紅河 新疆

巨人網絡通訊聲明:本文標題《OpenCV特征提取與檢測之Shi-Tomasi角點檢測器》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    玛纳斯县| 沂南县| 秦安县| 桃源县| 来宾市| 大厂| 阳新县| 邵阳县| 新乡市| 沂源县| 日土县| 高阳县| 辽阳市| 高青县| 隆回县| 盐山县| 泰和县| 吉安县| 玉树县| 察隅县| 玛曲县| 梨树县| 上蔡县| 沅陵县| 寿宁县| 盖州市| 凤阳县| 洛浦县| 舞钢市| 河东区| 榆林市| 焦作市| 凤阳县| 黄平县| 乐东| 松江区| 岑巩县| 武邑县| 龙游县| 平果县| 八宿县|