環(huán)形字符識別 opencv怎么讓檢測的角點之間等距?
opencv怎么讓檢測的角點之間等距?霍夫變換后的圓circles是一個個三個元素的浮點型矢量(x,y,radius)。circles[i][0],ciecles[i][1]分別表示第i個圓的前兩個元
opencv怎么讓檢測的角點之間等距?
霍夫變換后的圓circles是一個個三個元素的浮點型矢量(x,y,radius)。
circles[i][0],ciecles[i][1]分別表示第i個圓的前兩個元素,也即圓心坐標。兩個浮點型的數(shù)存到一個二維數(shù)組里面你應該會了吧。但圖像中一般坐標都是整型,所以可以做如下轉(zhuǎn)化:cvRound(circles[i][0])。如何用opencv做銀行卡號碼識別?
1.先把圖像轉(zhuǎn)化為灰度圖像
2.使用霍夫變換,找到銀行卡邊緣線,或者使用輪廓提取,獲得銀行卡的4邊形
3.根據(jù)邊緣線的角度或者4邊形的角度,然后將圖像旋轉(zhuǎn)到正方向
4.銀行卡號碼區(qū)域識別,可能通過縮放銀行卡圖像大小到固定大小,然后使用固定位置坐標來獲得
5.調(diào)用ocr,設置ocr白名單0123456789,最后進行字符識別。如果銀行卡號碼不清晰會影響識別準確率,可以提前對圖像進行去噪,或者拍攝圖像時保證好的光照
用opencv如何在測到的直線中選取我們所需的直線?
opencv只有曲線才有焦點,如雙曲線橢圓等存在焦點。我不知道你說的是直線的交點吧。既然要求交點坐標,那你應該提供兩條直線的方程或者是直線的斜率和截距,opencv有專門的霍夫變換可以檢測直線,建議你通過標準的霍夫變換提取直線的方程,然后掃描求取交點坐標,當然交點的坐標要控制其差值在一個像素之內(nèi)時算作是交點。