opencv圖像識別(18-37)

Opencv圖像識別從零到精通(37)----KNN算法

一 KNN簡介     K最近鄰(k-Nearest Neighbor,KNN)分類算法,該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。你可以簡單的理解爲由那離自己最近的K個點來投票決定待分類數據歸爲哪一類。     KNN算法的過程爲:     選擇一種距離計算方式, 通過數據所有的特徵計算新數據與已...
閱讀(740) 評論(0)

Opencv圖像識別從零到精通(36)----DFT離散傅里葉變換

這篇就是圖像的時域到頻域的開始,也是信號處理中比較常見的傅立葉變換。一、傅立葉圖像  對一張圖像使用傅立葉變換就是將它分解成正弦和餘弦兩部分。也就是將圖像從空間域(spatial domain)轉換到頻域(frequency domain)。 這一轉換的理論基礎來自於以下事實:任一函數都可以表示成無數個正弦和餘弦函數的和的形式。傅立葉變換就是一個用來將函數分解的工具。 2維圖像的傅立葉...
閱讀(2869) 評論(0)

Opencv圖像識別從零到精通(35)---SURF

SIFT在前面已經說過了,可以說在實現過程中是精益求精,用了各種手段來刪除不符合條件的特徵點,同時也得到了很好的效果但是實時性不高,於是就有了SURF(speeded up robusr features).SURF是一種尺度,旋轉不變的detector和descriptor.最大的特點是快!在快的基礎上保證性能(repeatability,distinctiveness和robustne...
閱讀(3329) 評論(0)

Opencv圖像識別從零到精通(34)---SIFI

一、理論知識  Scale Invariant Feature Transform,尺度不變特徵變換匹配算法,對於算法的理論介紹,可以參考這篇文章http://blog.csdn.net/qq_20823641/article/details/51692415,裏面很詳細,可以更好的學習。這裏就不多介紹。後面就挑選重點的來說二、SIFT 主要思想  SIFT算法是一種提取局部特徵的...
閱讀(1594) 評論(0)

Opencv圖像識別從零到精通(33)----moravec角點、harris角點

一、角點    圖像處理和與計算機視覺領域,興趣點(interest points),或稱作關鍵點(keypoints)、特徵點(feature points) 被大量用於解決物體識別,圖像識別、圖像匹配、視覺跟蹤、三維重建等一系列的問題。我們不再觀察整幅圖,而是選擇某些特殊的點,然後對他們進行局部有的放矢的分析。如果能檢測到足夠多的這種點,同時他們的區分度很高,並且可以精確定位穩定的特徵,那...
閱讀(1846) 評論(0)

Opencv圖像識別從零到精通(32)----直方圖對比,模版匹配,方向投影

0、預備知識歸一化就是要把需要處理的數據經過處理後(通過某種算法)限制在你需要的一定範圍內。函數原型:void normalize(InputArray src,OutputArray dst, double alpha=1,doublebeta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() )...
閱讀(2572) 評論(0)

Opencv圖像識別從零到精通(31)----圖像修補,分離合並通道

一、圖像修復簡介       圖像修復是圖像復原中的一個重要內容,其目的是利用圖像現有的信息來恢復丟失的信息。可用於舊照片中丟失信息的恢復,視頻文字去除以及視頻錯誤隱藏等。簡言之,圖像修復就是對圖像上信息缺損區域進行信息填充的過程,其目的就是爲了對有信息缺損的圖像進行復原,並且使得觀察者無法察覺到圖像曾經缺損或者已經修復     圖像修復技術簡單來說,就是利用那些被破壞區域的邊緣,即是...
閱讀(1719) 評論(0)

Opencv圖像識別從零到精通(30)---重映射,仿射變換

一、序言面對圖像處理的時候,我們會旋轉縮放圖像,例如前面所提高的resize 插值改變,也是幾何變換:幾何運算需要空間變換和灰度級差值兩個步驟的算法,像素通過變換映射到新的座標位置,新的位置可能是在幾個像素之間,即不一定爲整數座標。這時就需要灰度級差值將映射的新座標匹配到輸出像素之間。最簡單的插值方法是最近鄰插值,就是令輸出像素的灰度值等於映射最近的位置像素,該方法可能會產生鋸齒。...
閱讀(3193) 評論(2)

Opencv圖像識別從零到精通(29)-----圖像金字塔,向上上下采樣,resize插值

金字塔的底部是待處理圖像的高分辨率表示,而頂部是低分辨率的近似。我們將一層一層的圖像比喻成金字塔,層級越高,則圖像越小,分辨率越低                                                      一、兩個金字塔高斯金字塔(Gaussianpyramid): 用來向下採樣,主要的圖像金字塔拉普拉斯金字塔(Laplacianpyra...
閱讀(2211) 評論(1)

Opencv圖像識別從零到精通(28)----Kmeans

K-means算法算是個著名的聚類算法了,不僅容易實現,並且效果也不錯,訓練過程不需人工干預,實乃模式識別等領域的居家必備良品啊,今天就拿這個算法練練手。屬於無監督學習中間接聚類方法中的動態聚類流程:1.隨機選取樣本中的K個點作爲聚類中心2.計算所有樣本到各個聚類中心的距離,將每個樣本規劃在最近的聚類中3.計算每個聚類中所有樣本的中心,並將新的中心代替原來的中心4.檢查...
閱讀(1505) 評論(0)

Opencv圖像識別從零到精通(27)---grabcut

圖割graph cuts ----grad cut       Graph Cuts算法是用來確定網絡流的最小分割,即尋找一個容量最小的邊的集合,去掉這個集合中的所有邊就可以阻擋這個網絡了。需要注意的是,通常所說的Graph Cuts算法是指的採用最大流-最小分割來優化的模型,其它的Graph Cutting算法一般用graphpartitioning這個名詞來代替。  首先還得先...
閱讀(1538) 評論(0)

Opencv圖像識別從零到精通(26)---分水嶺

分水嶺是區域分割三個方法的最後一個,對於前景背景的分割有不錯的效果。      分水嶺分割方法,是一種基於拓撲理論的數學形態學的分割方法,其基本思想是把圖像看作是測地學上的拓撲地貌,圖像中每一點像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區域稱爲集水盆,而集水盆的邊界則形成分水嶺。分水嶺的概念和形成可以通過模擬浸入過程來說明。在每一個局部極小值表面,刺穿一個小孔,然後把整個模型慢慢...
閱讀(5818) 評論(0)

Opencv圖像識別從零到精通(25)------區域分裂與合併

區域分割一般認爲有漫水填充,區域分裂與合併,分水嶺,這篇是中間的區域分裂和合並。        區域分裂合併算法的基本思想是先確定一個分裂合併的準則,即區域特徵一致性的測度,當圖像中某個區域的特徵不一致時就將該區域分裂成4 個相等的子區域,當相鄰的子區域滿足一致性特徵時則將它們合成一個大區域,直至所有區域不再滿足分裂合併的條件爲止.   當分裂到不能再分的情況時,分裂結束,然後它將查找相鄰...
閱讀(2922) 評論(0)

Opencv圖像識別從零到精通(24)------漫水填充,種子填充,區域生長、孔洞填充

可以說從這篇文章開始,就結束了圖像識別的入門基礎,來到了第二階段的學習。在平時處理二值圖像的時候,除了要進行形態學的一些操作,還有有上一節講到的輪廓連通區域的面積周長標記等,還有一個最常見的就是孔洞的填充,opencv這裏成爲漫水填充,其實也可以叫種子填充,或者區域生長,基本的原理是一樣的,但是應用的時候需要注意一下,種子填充用遞歸的辦法,回溯算法,漫水填充使用堆棧,提高效率,同時還提供了一種方式...
閱讀(3104) 評論(0)

Opencv圖像識別從零到精通(23)----輪廓

當看到輪廓的時候,發現沒有辦法具體到什麼, 因爲關係輪廓的東西似乎有很多,例如檢測輪廓,提取輪廓,輪廓跟蹤,輪廓面積,周長,標記,匹配,還有一系列的外接最小矩形,圓形,橢圓,圖像矩,填充孔洞等,不得不說東西真的很好。輪廓其實最容易和邊緣檢測聯繫到一起,有很多的相同,但是我理解的是邊緣是檢測,是預處理,而輪廓就可能是你要用的特徵。一、函數:一個是找,一個是畫void findContou...
閱讀(2825) 評論(0)

Opencv圖像識別從零到精通(22)-----hough變換檢測直線與圓

今天要看的是霍夫變換,常用用來檢測直線和圓,這裏是把常見的笛卡爾座標系轉換成極座標下,進行累計峯值的極大值,確定。HoughLines,HoughLinesP,HoughCircles,三個函數,首先先看看原理,最後會用漂亮的matlab圖,來回歸一下,霍夫直線變換。霍夫線變換:衆所周知, 一條直線在圖像二維空間可由兩個變量表示. 例如:在 笛卡爾座標系...
閱讀(2360) 評論(0)

Opencv圖像識別從零到精通(21)-----canny算子邊緣檢測

最後來看看canny算子,這個是被成爲最好的算子,因爲過程多,有準測,後面會列出來,也是邊緣檢測的最後一個,所以這裏作爲結尾,來看看各個邊緣檢測的效果。邊緣檢測結果比較Roberts算子檢測方法對具有陡峭的低噪聲的圖像處理效果較好,但是利用roberts算子提取邊緣的結果是邊緣比較粗,因此邊緣的定位不是很準確。Sobel算子檢測方法對灰度漸變和噪聲較多的圖像處理效果較好,sobel...
閱讀(2145) 評論(0)

Opencv圖像識別從零到精通(20)---laplace LOG DOG邊緣檢測

經過了上一篇的簡單的邊緣檢測,現在來看一下二階導數的邊緣檢測,分別是Laplace LOG DOG,看到他們心裏還是有點遺憾,要是自己能加快一點學習的步伐,在面試的時候也許就可以輕鬆回答了,親愛的你們只是來的晚了2天。希望和我一樣的同學,要加快腳步,認真學習了。廢話不再多說,讓我看看是怎麼回事。一、Laplacian    Laplacian算子定義爲表示成...
閱讀(2151) 評論(0)

Opencv圖像識別從零到精通(19)----Robert,prewitt,Sobel邊緣檢測

圖像的邊緣檢測,是根據灰度的突變或者說不連續來檢測,對於其中的算子有一階導數和二價導數,這裏先說基礎的三種方法。         一梯度          首先介紹下梯度,梯度並非是一個數值,梯度嚴格意義上是一個向量,這個向量指向當前位置變化最快的方向,可以這麼理解,當你站在一個山上,你有360°的方向可以選擇,哪個方向下降速度最快(最陡峭),便是梯度方向,梯度的長度,表示爲向量的長度,表...
閱讀(5062) 評論(1)

Opencv圖像識別從零到精通(18)-------擊中擊不中

在我們學習了膨脹腐蝕和基於膨脹腐蝕的變化之後,我比較喜歡的一個是擊中擊不中,因爲喜歡所以就要單獨列出來,心裏總是覺得他可以有很多的用處,以後模版匹配,特徵檢測都會用,更深入的是,他會加深對膨脹腐蝕的理解,是一個很好的例子。下面先看一個算法步驟和原理:Hit-miss算法步驟:擊中擊不中變換是形態學中用來檢測特定形狀所處位置的一個基本工具。它的原理就是使用腐蝕;如果要在一幅圖像A上找...
閱讀(1912) 評論(0)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章