在OpenCV裡實現撲克牌識別3

2021-10-01 13:16:33 字數 458 閱讀 3656

在前面使用兩個影象相減的差值來識別,在識別的結果裡,發現有時候識別錯誤率很高,那麼就需要想辦法來改善這種情況。首先來分析一下,為什麼影象相減識別的錯誤率會這麼高?如果仔細地分析它們的相減之後的,就會發現這樣乙個問題,當拍攝的撲克牌與庫里的牌有角度的差異時,投影變換回來的影象,它們之間顯然有畫素的差別,導致數量不一樣,這樣相減就會有影響最後計算畫素的個數了。因此,這種切變的特性導致這種方法識別率不高的原因。

有了這個認識之後,就好解決了,接著下來就是找到一種方法,可以讓切變的也不影響判斷。通過前面的特徵學習,發現角有旋轉等不變性,因而就可以採用前面的orb特徵方法,把每張牌的特徵計算出來,最後把要識別的牌的特徵也計算出來,這樣來比較它們的特徵值來判斷是相似。

下面就來例子說明怎麼樣計算牌的orb特徵:

這張牌

在OpenCV裡實現撲克牌識別1

撲克牌的遊戲非常多,相信大家在大學裡會經常玩的一種遊戲,因為它簡單,攜帶非常方向,放入到口袋裡不佔地方。並且它的玩法也是多種多樣,比如24點,公升級,鬥地主等等。當你跟朋友在玩24點遊戲時,就是比較誰計算出來最快。但是有一些人想用聰明的辦法,比如通過攝像頭拍攝撲克牌,然後自動地在後台計算,然後再通過...

在OpenCV裡實現條碼識別

現在條碼這麼普及,對於條碼的識別,很多應用場合都需要使用。在這裡就介紹乙個比較小的條碼識別庫,它就是pyzbar,對於一般的條碼,它是能識別出來的,如果比較新的格式可能識別不了。可以使用下面的命令來安裝它 pip install i pyzbar 成功安裝之後,就可以用下面的 進行測試 python...

java實現 簡易撲克牌遊戲

第三季聽課後的綜合實戰,要求如下 1.建立一副撲克牌,不考慮大小王 2.建立兩名玩家,玩家至少要有id 姓名 手牌等屬性,手牌為撲克牌的集合 3.洗牌,將之前建立的撲克牌順序打亂 4.發牌,將洗牌之後的撲克牌集合,從第一張開始,發給兩名玩家,按照一人一張的方式,每人發兩張 5.開始遊戲,比大小,大小...