Python OpenCV學習(十二)Haar聯級

2021-09-21 04:10:05 字數 784 閱讀 7982

haar特徵:

haar特徵是一種反映影象的灰度變化的,畫素分模組求差值的一種特徵。它分為三類:邊緣特徵、線性特徵、中心特徵和對角線特徵。用黑白兩種矩形框組合成特徵模板,在特徵模板內用 黑色矩形畫素和 減去 白色矩形畫素和來表示這個模版的特徵值。例如:臉部的一些特徵能由矩形模組差值特徵簡單的描述,如:眼睛要比臉頰顏色要深,鼻樑兩側比鼻樑顏色要深,嘴巴比周圍顏色要深等。但矩形特徵只對一些簡單的圖形結構,如邊緣、線段較敏感,所以只能描述在特定方向(水平、垂直、對角)上有明顯畫素模組梯度變化的影象結構。

如上圖a、b、d模組的影象haar特徵為:v=sum白-sum黑

c 模組的影象haar特徵為:v=sum白(左)+sum白(右)-2*sum黑

這裡要保證白色矩形模組中的畫素與黑色矩形的模組的畫素數相同,所以乘2

對於一幅影象來說,可以通過通過改變特徵模板的大小和位置,可窮舉出大量的特徵來表示一幅影象。上圖的特徵模板稱為「特徵原型」;特徵原型在影象子視窗中擴充套件(平移伸縮)得到的特徵稱為「矩形特徵」;矩形特徵的值稱為「特徵值」。例如在24*24大小的影象中可以以座標(0,0)開始寬為20高為20矩形模版計算上圖a特徵,也可以以座標(0,2)開始寬為20高為20矩形模版計算上圖a特徵,也可以以座標(0,0)開始寬為22高為22矩形模版計算上圖a特徵,這樣矩形特徵值隨著類別、大小和位置的變化,使得很小的一幅很小的影象含有非常多的矩形特徵。矩形特徵值是矩形模版類別、矩形位置和矩形大小這三個因素的函式。

(來自部落格

python opencv學習筆記(二)

影象與原始位元組之間的轉換 從概念上,乙個位元組能表示0到255的整數,通常乙個畫素每個通道由乙個位元組表示。乙個opencv影象是.array型別的二維或者三維陣列。8位的灰度影象是乙個含有位元組值得二維陣列。乙個24位的bgr影象是乙個三維陣列,也包含了位元組值,可以使用表示式訪問這些值,如im...

Python Opencv學習筆記1

我選用的教材是opencv python torturial的翻譯版本,這裡給出基礎部分的學習 以及我的學習備註。import numpy as np import cv2 img cv2.imread untitled.png 0 這裡後面的引數是如何讀取這張,即以下三種情況 print cv2....

Python OpenCV學習(7) 模板匹配

利用python學習opencv,個人感覺比較方便。函式的形式與c 基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境pycharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。下面是利用python語言結合opencv的模板匹配 6...