亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python微信跳一跳系列之棋子定位顏色識(shí)別

 更新時(shí)間:2018年02月26日 13:57:09   作者:艾克思工作室  
這篇文章主要為大家詳細(xì)介紹了python微信跳一跳系列之棋子定位之顏色識(shí)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

python微信跳一跳,前言

這是python玩跳一跳系列博文中一篇,主要內(nèi)容是用顏色識(shí)別的方法來(lái)進(jìn)行跳跳小人的定位。

顏色識(shí)別

通過(guò)觀察,我們可以發(fā)現(xiàn),盡管背景和棋子在不停的變化,但跳跳小人的形狀和顏色基本保持不變,對(duì)于形狀,我們?cè)谏弦黄┪闹幸呀?jīng)采用模板匹配的方法來(lái)進(jìn)行識(shí)別定位,效果非常好。這一篇博文就來(lái)對(duì)顏色識(shí)別進(jìn)行驗(yàn)證。

基本思路

用HSV顏色空間對(duì)輸入的圖片進(jìn)行處理,用某種指定的顏色進(jìn)行蒙版mask處理進(jìn)而得到二值化的黑白圖像,膨脹和腐蝕后去除噪點(diǎn),對(duì)輪廓區(qū)域進(jìn)行計(jì)算,畫(huà)出圓心和質(zhì)心位置,并實(shí)現(xiàn)動(dòng)態(tài)的跟蹤。
其基本的步驟如下:
設(shè)定需要的顏色閾值
讀入圖像
轉(zhuǎn)化為HSV圖像
采用顏色的蒙版進(jìn)行二值化處理得到黑白圖像
降噪和輪廓處理
繪出圓心

python3.6代碼

import cv2 
import numpy as np 
import time

lower_blue = np.array([115,75,75]) #設(shè)定藍(lán)色的閾值
upper_blue = np.array([130,255,125])

frame=cv2.imread('001.png')

hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) #轉(zhuǎn)到HSV空間
mask_blue = cv2.inRange(hsv, lower_blue, upper_blue)
cnts = cv2.findContours(mask_blue, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2] 
if len(cnts) > 0: 
 c = max(cnts, key = cv2.contourArea) #找到面積最大的輪廓
 ((x, y), radius) = cv2.minEnclosingCircle(c) #確定面積最大的輪廓的外接圓

 center= (int(x),int(y))
 cv2.circle(frame, center, int(radius+10), (0, 0, 255), 3) #畫(huà)出圓心 
 cv2.circle(frame, center, 3, (0, 0, 255), -1)
 cv2.circle(hsv, center, int(radius+10), (255, 255, 255), 3) #畫(huà)出圓心 
 cv2.circle(hsv, center, 3, (0, 0, 255), -1) 
 cv2.circle(mask_blue, center, int(radius+10), (255, 255, 255), 3) #畫(huà)出圓心 
 cv2.circle(mask_blue, center, 3, (0, 0, 255), -1) 

cv2.imshow('frame',frame)
cv2.imshow('hsv',hsv)
cv2.imshow('mask',mask_blue)
if cv2.waitKey(0)==ord('q'):
 cv2.destroyAllWindows()

靜態(tài)圖片識(shí)別效果

左邊是原始圖片,中間是蒙版后的二值圖,右邊就是HSV圖像,識(shí)別效果還是不錯(cuò)的。
可以看到,目前選定的顏色基本可以將小人的輪廓全部篩選出來(lái),其最大的部分恰好就在底盤(pán),圓心位置正是我們需要的。

動(dòng)態(tài)實(shí)時(shí)識(shí)別

我們給出動(dòng)態(tài)圖,可以看一下動(dòng)態(tài)實(shí)時(shí)識(shí)別的效果。

評(píng)價(jià)

采用顏色來(lái)對(duì)跳跳小人的底盤(pán)位置進(jìn)行識(shí)別和定位效果不錯(cuò),而且這種方法和手機(jī)的像素及屏幕大小無(wú)關(guān),真正實(shí)現(xiàn)了各平臺(tái)通用。

預(yù)告

在下一篇博文中,我會(huì)對(duì)github上wechat-jump所采用的顏色遍歷方法進(jìn)行驗(yàn)證,敬請(qǐng)期待。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python遞歸法解決棋盤(pán)分割問(wèn)題

    python遞歸法解決棋盤(pán)分割問(wèn)題

    這篇文章主要為大家詳細(xì)介紹了python遞歸法解決棋盤(pán)分割問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python實(shí)現(xiàn)批量合并圖片到word文檔

    Python實(shí)現(xiàn)批量合并圖片到word文檔

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量合并指定文件夾中的所有圖片并插入到Word文檔中并保存,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • OpenCV特征提取與檢測(cè)之Shi-Tomasi角點(diǎn)檢測(cè)器

    OpenCV特征提取與檢測(cè)之Shi-Tomasi角點(diǎn)檢測(cè)器

    在角點(diǎn)檢測(cè)的世界里哈瑞斯無(wú)疑是最重要的方法之一,但Shi-Tomasi作為改進(jìn)的算法也有很大應(yīng)用場(chǎng)景,尤其是動(dòng)態(tài)跟蹤用的還比較多,這篇文章主要給大家介紹了關(guān)于OpenCV特征提取與檢測(cè)之Shi-Tomasi角點(diǎn)檢測(cè)器的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python如何輸入根號(hào)

    python如何輸入根號(hào)

    這篇文章主要介紹了python如何輸入根號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python中高階函數(shù)的小實(shí)踐分享

    Python中高階函數(shù)的小實(shí)踐分享

    這篇文章主要為大家介紹了一些Python中高階函數(shù)的小實(shí)踐,文中的示例代碼講解詳細(xì),對(duì)我們深入學(xué)習(xí)Python有一定的幫助,需要的可以參考下
    2023-05-05
  • Python Pygame實(shí)戰(zhàn)之打地鼠小游戲

    Python Pygame實(shí)戰(zhàn)之打地鼠小游戲

    Pygame庫(kù)是專(zhuān)門(mén)為了幫助做出的游戲和其他多媒體應(yīng)用Python編程語(yǔ)言的一個(gè)開(kāi)放源代碼模塊。本文將利用Pygame模塊制作一個(gè)打地鼠的小游戲,快跟隨小編一起學(xué)習(xí)一下吧
    2022-01-01
  • Python 實(shí)現(xiàn)自動(dòng)完成A4標(biāo)簽排版打印功能

    Python 實(shí)現(xiàn)自動(dòng)完成A4標(biāo)簽排版打印功能

    這篇文章主要介紹了Python 實(shí)現(xiàn)自動(dòng)完成A4標(biāo)簽排版打印功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python數(shù)據(jù)分析之聚類(lèi)分析(cluster analysis)

    python數(shù)據(jù)分析之聚類(lèi)分析(cluster analysis)

    聚類(lèi)分析本身不是一個(gè)特定的算法,而是要解決的一般任務(wù)。它可以通過(guò)各種算法來(lái)實(shí)現(xiàn),這些算法在理解群集的構(gòu)成以及如何有效地找到它們方面存在顯著差異。這篇文章主要介紹了python數(shù)據(jù)分析之聚類(lèi)分析(cluster analysis),需要的朋友可以參考下
    2021-11-11
  • python編寫(xiě)扎金花小程序的實(shí)例代碼

    python編寫(xiě)扎金花小程序的實(shí)例代碼

    這篇文章主要介紹了python編寫(xiě)扎金花小程序的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python坐標(biāo)軸操作及設(shè)置代碼實(shí)例

    Python坐標(biāo)軸操作及設(shè)置代碼實(shí)例

    這篇文章主要介紹了Python坐標(biāo)軸操作及設(shè)置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論