Opencv特徵分析

2021-08-22 14:57:02 字數 1534 閱讀 2000

影象處理程式設計例項筆記-第8章特徵分析

第8章 特徵分析

8.1尺度空間

8.2特徵描述子

8.3方向梯度直方圖hog

8.4區域性二值模式lbp

8.5haar特徵描述

8.6應用例項

分析未知場景目標,無法得知目標尺寸。

8.1.1尺度與旋轉不變性

8.1.2特徵點尺度變換

關鍵點檢測與關鍵點提取是木匾特徵分析的重要步驟。區域性影象特徵描述基礎問題不變性與可分析性,不變性指特徵描述對視角變化、尺度變化、旋轉變化。可分性是基於區域性影象內容。

8.2.1 sifi特徵

關鍵點 檢測和描述演算法

8.2.2 surf特徵

對sifi 的改進,需要借助硬體加速或專門影象處理器實現實時處理。

8.2.3 orb特徵

基於fast角點的特徵點檢測與描述,執行時間優於sifi特徵 、surf特徵,應用於實時特徵檢測。

1、方向fast特徵點檢測

2、brief特徵描述

8.3.1 原理

特徵直方圖:   

:畫素個數的歸一化處理值,特徵直方圖反應某一特徵的概率分布。模擬灰度影象,直方圖是灰度資訊的概率統計。對

累計,得到累計直方圖:

hog為dalal於2005針對行人檢測所提出,常用於目標物體檢測與特徵分析。

對於圖下f(x,y)在(x,y)出的梯度幅度

和方向分別是x方向和y方向的梯度,hog在進行特徵描述時將

的梯度方向在

區間劃分為n個均勻空間

,畫素點(x,y)在k個梯度方向上的梯度投影為:

8.3.2 hog提取特徵步驟

影象梯度方向直方圖是對影象中所有畫素點k維梯度特徵的直方圖統計,將影象劃分成小部分連通域,對細胞單元的各個畫素點進行梯度方向直方圖描述,最後組合成相應特徵描述器。

提取步驟:

(1)歸一化處理

(2)計算影象梯度

對i(x,y),計算影象在(x,y)處的水平方向梯度g=i(x+1,y)-i(x-1,y)

豎直方向梯度g=i(x,y+1)-i(x,y-1)

計算水平和豎直方向梯度可以對影象進行模板卷積得到,水平模板【-1,0,1】

豎直模板【-1,0,1】的轉置

(3)統計梯度方向

影象分8*8單元,2*2個單元成一塊,對塊內畫素點統計,計算方塊單元的梯度特徵,畫素點方向梯度採用線性插值,組合每個方塊梯度特徵。

(4)特徵向量歸一化

(5)生成特徵向量

8.3.3 hogdescriptor 特徵描述類

hog特徵檢測類,hogdescriptor完成hog初始化引數,行人檢測預設用getdefaultdetector,

應用於目標單尺度檢測和多尺度檢測,對應方法是detect,detectmultiscale

8.3.4 hog 特徵描述實現

特徵描述實現需要計算積分圖。對影象進行水平和豎直方向的sobel邊緣檢測;

初始化直方圖bins,將sobel檢測結果進行cartopolar座標轉換,對應對角矩陣進行分段變換;遍歷影象。

opencv 輪廓特徵2

函式 moments moments inputarray array,bool binaryimage false 用來計算多邊形或珊格形狀的0 3階矩。moments類定義如下 classmoments mxx是0 3階矩,muxx是0 3階中心矩,nuxx是0 3階歸一化中心矩,公式如下 當計...

特徵點提取opencv

opencv中提供了harris角點檢測的介面,即cv cornerharris 缺陷 角點是畫素級別的,速度較慢 dst cv2.cornerharris gray,2,3,0.04 img 資料型別為 float32 的輸入影象 blocksize 角點檢測中要考慮的領域大小 ksize sob...

Opencv之特徵匹配

import cv2 import numpy as np import matplotlib.pyplot as plt matplotlib inline def cv show name,img cv2.imshow name,img cv2.waitkey 0 cv2.destroyallw...