日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV与图像处理学习十二——图像形状特征之HOG特征

發(fā)布時間:2024/7/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV与图像处理学习十二——图像形状特征之HOG特征 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

OpenCV與圖像處理學(xué)習(xí)十二——圖像形狀特征之HOG特征

  • 一、圖像特征理解
    • 1.1 顏色特征
    • 1.2 紋理特征
    • 1.3 形狀特征
    • 1.4 空間關(guān)系特征
  • 二、形狀特征描述
    • 2.1 HOG特征
      • 2.1.1 基本概念
      • 2.1.2 HOG實現(xiàn)過程
      • 2.1.3 代碼實現(xiàn)

前面介紹了圖像的基礎(chǔ)知識、基本處理方法以及傳統(tǒng)圖像分割的應(yīng)用,下面的筆記將介紹圖像特征與目標檢測部分的應(yīng)用,知識脈絡(luò)如下所示:

一、圖像特征理解

圖像特征是圖像中獨特的, 易于跟蹤和比較的特定模板或特定結(jié)構(gòu),如下圖所示:

其中E和F是在圖像中獨特的、特殊的模板,而ABCD四個在圖像中是普遍存在的,沒有特殊性。

特征就是有意義的圖像區(qū)域, 該區(qū)域具有獨特性或易于識別性!

圖像特征提取與匹配是計算機視覺中的一個關(guān)鍵問題, 在目標檢測、物體識別、 三維重建、 圖像配準、 圖像理解等具體應(yīng)用中發(fā)揮著重要作用。

圖像特征主要有圖像的顏色特征紋理特征形狀特征空間關(guān)系特征

1.1 顏色特征

顏色特征是一種全局特征, 描述了圖像或圖像區(qū)域所對應(yīng)的景物的表面性質(zhì)。

顏色特征描述方法:

  • 顏色直方圖
  • 顏色空間
  • 顏色分布

1.2 紋理特征

紋理特征也是一種全局特征, 它也描述了圖像或圖像區(qū)域所對應(yīng)景物的表面性質(zhì)。 但由于紋理只是一種物體表面的特性, 并不能完全反映出物體的本質(zhì)屬性,所以僅僅利用紋理特征是無法獲得高層次圖像內(nèi)容的。

1.3 形狀特征

形狀特征有兩類表示方法,一類是輪廓特征, 另一類是區(qū)域特征。圖像的輪廓特征主要針對物體的外邊界,而圖像的區(qū)域特征則描述了是圖像中的局部形狀特征。

1.4 空間關(guān)系特征

是指圖像中分割出來的多個目標之間的相互的空間位置或相對方向關(guān)系。
這些關(guān)系也可分為連接/鄰接關(guān)系、 交疊/重疊關(guān)系和包含/獨立關(guān)系等。

二、形狀特征描述

2.1 HOG特征

2.1.1 基本概念

方向梯度直方圖(Histogram of Oriented Gradient, HOG) 特征是一種在計算機視覺和圖像處理中用來進行物體檢測的特征描述子。

它通過計算和統(tǒng)計圖像局部區(qū)域的梯度方向直方圖來構(gòu)成特征。Hog特征結(jié)合SVM分類器已經(jīng)被廣泛應(yīng)用于圖像識別中, 尤其在行人檢測中獲得了極大的成功。

主要思想: 在一副圖像中, 目標的形狀能夠被梯度或邊緣的方向密度分布很好地描述,所以使用HOG特征來描述目標的形狀。

2.1.2 HOG實現(xiàn)過程

  • 灰度化(將圖像看做一個x,y,z(灰度) 的三維圖像);
  • 采用Gamma校正法對輸入圖像進行顏色空間的標準化(歸一化);
  • 計算圖像每個像素的梯度(包括大小和方向);
  • 將圖像劃分成小cells;
  • 統(tǒng)計每個cell的梯度直方圖(不同梯度的個數(shù)),得到cell的描述子
  • 將每幾個cell組成一個block, 得到block的描述子
  • 將圖像image內(nèi)的所有block的HOG特征descriptor串聯(lián)起來就可以得到HOG特征, 該特征向量就是用來目標檢測或分類的特征。
  • 2.1.3 代碼實現(xiàn)

    import cv2 import numpy as np # 判斷矩形i是否完全包含在矩形o中 def is_inside(o, i):ox, oy, ow, oh = oix, iy, iw, ih = ireturn ox > ix and oy > iy and ox + ow < ix + iw and oy + oh < iy + ih# 對人體繪制顏色框 def draw_person(image, person):x, y, w, h = personcv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 255), 2)img = cv2.imread("people.jpg") hog = cv2.HOGDescriptor() # 啟動檢測器對象 hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) # 指定檢測器類型為人體 found, w = hog.detectMultiScale(img, 0.1, (1, 1)) # 加載并檢測圖像 print(found) print(w)# 丟棄某些完全被其它矩形包含在內(nèi)的矩形 found_filtered = [] for ri, r in enumerate(found):for qi, q in enumerate(found):if ri != qi and is_inside(r, q):breakelse:found_filtered.append(r)print(found_filtered) # 對不包含在內(nèi)的有效矩形進行顏色框定 for person in found_filtered:draw_person(img, person) cv2.imshow("people detection", img) cv2.waitKey(0) cv2.destroyAllWindows()

    原圖為:

    檢測結(jié)果:

    總結(jié)

    以上是生活随笔為你收集整理的OpenCV与图像处理学习十二——图像形状特征之HOG特征的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。