OpenCV 學(xué)習(xí)系列-基礎(chǔ)篇

簡介

OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫瞬痘,可以運行在Linux、Windows喧兄、Android和Mac OS操作系統(tǒng)上狼荞。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類[構(gòu)成],同時提供了Python闽寡、Ruby代兵、MATLAB等語言的接口尼酿,實現(xiàn)了[圖像處理]和計算機視覺方面的很多通用算法。

模塊 功能
Core 核心基礎(chǔ)模塊奢人,定義了被所有其他模塊和基本數(shù)據(jù)結(jié)構(gòu)(包括重要的多維數(shù)組Mat)使用的基本函數(shù)谓媒、底層數(shù)據(jù)結(jié)構(gòu)和算法函數(shù)
Imgproc 圖像處理模塊,包括:濾波何乎、高斯模糊句惯、形態(tài)學(xué)處理、幾何變換支救、顏色空間轉(zhuǎn)換及直方圖計算等
Highgui 高層用戶交互模塊抢野,包括:GUI、圖像與視頻I\O等
Video 視頻分析,各墨,運動分析及目標跟蹤指孤。
Calib3d 3D模塊,包括:攝像機標定贬堵、立體匹配恃轩、3D重建等
Features2d 二維特征檢測與描述模塊,包括:圖像特征檢測黎做、描述叉跛、匹配等
Objdetect 目標檢測模塊,如:人臉檢測等
MI 機器學(xué)習(xí)模塊蒸殿,包括:支持向量機筷厘、神經(jīng)網(wǎng)絡(luò)等
Flann 最近鄰開源庫。包含一系列查找算法宏所,自動選取最快算法的機制酥艳。
Imgcodecs 圖像編解碼模塊,圖像文件的讀寫操作
Photo 圖像計算(處理)模塊爬骤,圖像修復(fù)及去噪充石。
Shape 形狀匹配算法模塊。描述形狀盖腕、比較形狀
Stitching 圖像拼接
Superres 超分辨率模塊
Videoio 視頻讀寫模塊赫冬,視頻文件包括攝像頭的輸入。
Videostab 解決拍攝的視頻穩(wěn)定
Dnn 深度神經(jīng)網(wǎng)絡(luò)
contrib 可以引入額外模塊

人臉檢測識別

人臉定位是人臉檢測溃列、識別等一系列后續(xù)功能的基礎(chǔ)

LBP

(Local Binary Pattern劲厌,局部二值模式)是一種用來描述圖像局部紋理特征的算子,具有多分辨率、灰度尺度不變听隐、旋轉(zhuǎn)不變等特性补鼻。主要用于特征提取中的紋理提取。
使用LBP作為人臉檢測的特征提取方式具有:計算量小风范;存儲空間凶傻;計算過程簡單硼婿,沒有復(fù)雜的除法和特殊運算锌半,便于硬件實現(xiàn);檢測的時間短寇漫,檢測的實時性好刊殉。
LBP的核心思想就是:以中心像素的灰度值作為閾值,與他的領(lǐng)域相比較得到相對應(yīng)的二進制碼來表示局部紋理特征

基本LBP.jpg

基本LBP

原始的LBP算子定義為在33的窗口內(nèi)州胳,處理83這個像素點的lbp值
由一張原始圖片 -> 3
3 的像素區(qū)域 -> 對每個點進行灰度 -> 以中心點的灰度值 83 作為基準 记焊,處理周圍的像素點,大于 83 值為 1栓撞,否則為 0
最終得到lbp值 01111100 = 124 (注意順時針)

代碼流程如下:

/**
 * 原始lbp:3x3的src
 * src: 原圖
 * dst: 計算出的lbp圖譜
 */
void processLBP(Mat src, Mat &dst){
    // 循環(huán)處理圖像數(shù)據(jù)
    for(int i=1; i < src.rows-1;i++) {
        for(int j=1;j < src.cols-1;j++) {
            uchar lbp = 0;
            uchar center = src.at<uchar>(i,j);
            //取出對應(yīng) 高遍膜、寬位置的像素 與 中心點位置進行比較
            if(src.at<uchar>(i-1,j-1)>center) { lbp += 1 << 7;}
            if(src.at<uchar>(i-1,j  )>center) { lbp += 1 << 6;}
            if(src.at<uchar>(i-1,j+1)>center) { lbp += 1 << 5;}
            if(src.at<uchar>(i  ,j+1)>center) { lbp += 1 << 4;}
            if(src.at<uchar>(i+1,j+1)>center) { lbp += 1 << 3;}
            if(src.at<uchar>(i+1,j  )>center) { lbp += 1 << 2;}
            if(src.at<uchar>(i+1,j-1)>center) { lbp += 1 << 1;}
            if(src.at<uchar>(i  ,j-1)>center) { lbp += 1 << 0;}
            dst.at<uchar>(i-1,j-1) = lbp;
        }
    }
}
//讀取一張圖片
Mat img = imread("/path/x.png");
cvtColor(img, img, COLOR_BGR2GRAY);
//計算lbp圖譜
Mat lbp = Mat(img.rows-2, img.cols-2,CV_8UC1);
processLBP(img,lbp);

從lBP定義可以看出LBP是灰度不變的,簡單來說就是對圖像的灰度值根據(jù)一個系數(shù)X進行修改瓤湘,得出的LBP值不變瓢颅。
另外還有:圓形LBP、旋轉(zhuǎn)不變LBP弛说、 等價LBP 等等是在基本LBP 的基礎(chǔ)上算法優(yōu)化提升

檢測識別的原理:
將一幅圖片劃分為若干的子區(qū)域惜索,對每個子區(qū)域內(nèi)的每個像素點都提取LBP特征,然后剃浇,在每個子區(qū)域內(nèi)建立LBPH(LBP特征的統(tǒng)計直方圖)。 每個子區(qū)域就可以用一個統(tǒng)計直方圖來進行描述猎物;整個圖片就由若干個統(tǒng)計直方圖組成 之后虎囚,將圖片和人臉的直方圖進行相似性比較。

直方圖:

把圖片的亮度分為0到255共256個數(shù)值蔫磨,數(shù)值越大淘讥,代表的亮度越高。其中0代表純黑色的最暗區(qū)域堤如,255表示最亮的純白色蒲列,而中間的數(shù)字就是不同亮度的灰色。用橫軸代表0-255的亮度數(shù)值搀罢。豎軸代表照片中對應(yīng)亮度的像素數(shù)量蝗岖,這個函數(shù)圖像就被稱為直方圖。

簡單來說榔至,圖像的直方圖是用來表現(xiàn)圖像中亮度分布的情況,給出的是圖像中某個亮度或者某個范圍亮度下共有幾個像素

直方圖.jpg

在統(tǒng)計學(xué)中抵赢,直方圖是一種對數(shù)據(jù)分布情況的圖形表示,是一種二維統(tǒng)計圖表,它的兩個坐標分別是統(tǒng)計樣本(圖像铅鲤、視頻幀)和樣本的某種屬性(亮度划提,像素值,梯度邢享,方向鹏往,色彩等等任何特征)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骇塘,一起剝皮案震驚了整個濱河市伊履,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绪爸,老刑警劉巖湾碎,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奠货,居然都是意外死亡介褥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門递惋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柔滔,“玉大人,你說我怎么就攤上這事萍虽【龋” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵杉编,是天一觀的道長超全。 經(jīng)常有香客問我,道長邓馒,這世上最難降的妖魔是什么嘶朱? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮光酣,結(jié)果婚禮上疏遏,老公的妹妹穿的比我還像新娘。我一直安慰自己救军,他們只是感情好财异,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唱遭,像睡著了一般戳寸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胆萧,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天庆揩,我揣著相機與錄音俐东,去河邊找鬼。 笑死订晌,一個胖子當著我的面吹牛虏辫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锈拨,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼砌庄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奕枢?” 一聲冷哼從身側(cè)響起娄昆,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缝彬,沒想到半個月后萌焰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡谷浅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年扒俯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片一疯。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡撼玄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出墩邀,到底是詐尸還是另有隱情掌猛,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布眉睹,位于F島的核電站荔茬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏竹海。R本人自食惡果不足惜兔院,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望站削。 院中可真熱鬧,春花似錦孵稽、人聲如沸许起。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽园细。三九已至,卻和暖如春接校,著一層夾襖步出監(jiān)牢的瞬間猛频,已是汗流浹背狮崩。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鹿寻,地道東北人睦柴。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像毡熏,于是被迫代替她去往敵國和親坦敌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容