HOG特徵計算的python實現

        用於行人檢測(Pedestrian Detection)的hog特徵於2005年被N. Dalal和B. Triggs提出來。他們提出的算法可用於計算96×160圖像的HOG特徵提取。使用的數據集爲INRIA Person Dataset

下面的python代碼片段用來爲計算一張圖片的HOG特徵:

import numpy as np
from scipy import signal
import scipy.misc
def s_x(img):
    kernel = np.array([[-1, 0, 1]])
    imgx = signal.convolve2d(img, kernel, boundary='symm', mode='same')
    return imgx
def s_y(img):
    kernel = np.array([[-1, 0, 1]]).T
    imgy = signal.convolve2d(img, kernel, boundary='symm', mode='same')
    return imgy
def grad(img):
    imgx = s_x(img)
    imgy = s_y(img)
    s = np.sqrt(imgx**2 + imgy**2)
    theta = np.arctan2(imgx, imgy) #imgy, imgx)
    theta[theta<0] = np.pi + theta[theta<0]
    return (s, theta)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章