web AR 前端qrcode識別 - 2 圖片處理

圖片處理是web AR整體流程中,佔用時間最長的部分。

圖片處理主要包含三個部分:

1 從video中獲取圖像的數據。這一步是所有步驟消耗時間最多的,而且目前看來也很難優化。

2 對圖片進行灰度處理,這是OpenCV最常見的處理之一,需要注意的是javascript效率比較低,在此步驟以及下面步驟中,尤其是圖片像素遍歷之類的大量循環處理中,語句需要盡量精簡,不然可能導致處理耗費的時間增加很多。

3 灰度處理後,如果是普通圖片的識別,那麼這裡可以開始提取特徵點了。而對於二維碼有所不同,原因在於二維碼的特徵非常的明顯,這裡需要對圖像做一個二值化處理,也就是把圖像中拍攝到的點的特徵放大,從而使得整體二維碼的識別率更高。這裡採用的方式是需要尋找一個閾值,而且根據圖像不同區域的亮度可能不同,所以圖像需要分割不同的部分取得不同的閾值。此步驟如下圖所示,最終得到黑白分明的二維碼圖像。

限於時間,接下來再寫關於下面的步驟。

推薦閱讀:

Conditional Similarity Networks 閱讀筆記
OpenCV已經將圖像處理(識別)的演算法寫成函數了,那我們還有必要去學習這些演算法不?
能否搜索某視頻的其中一幀畫面?或者通過一張圖片搜索此圖來自哪個視頻?
FMI飛馬網 |TensorFlow介紹、安裝教程、圖像識別應用(附安裝包/指南)
sift演算法特徵點如何匹配?

TAG:增强现实AR | OpenCV | 图像识别 |