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