需求:當乙個頁面存在多個相同的按鍵,通過影象識別的方式點選指定的按鍵
思路:1.每次匹配到按鍵的區域後將區域從源影象中去掉
2.根據按鍵與左上角 (0,0) 的長度對按鍵進行排序
(忽略長度相同的情況,可換其他角的座標計算解決)
#重寫match_in,return加上識別到的區域(match_result)
defmatch_in(self, screen):
match_result =self._cv_match(screen)
g.logging.debug(
"match result: %s
", match_result)
ifnot
match_result:
return
none
focus_pos =targetpos().getxy(match_result, self.target_pos)
return
focus_pos,match_result
defp(search,source,total,index):
""":param search: 匹配影象
:param source: 源影象
:param total: 相同影象總數
:param index: 匹配索引
:return: 匹配座標
"""result =
source_array=numpy.array(image.open(source))
t =time.time()
for i in
range(total):
im_search =template2(search)
im_source =aircv.imread(source)
pos,match = im_search.match_in(im_source) #
匹配座標和匹配區域
array = numpy.array(image.open(source))#
建立矩陣
#將區域填充為白色
for col in range(match['
rectangle
'][0][0],match['
rectangle
'][-1][0]):
for row in range(match['
rectangle
'][0][1],match['
rectangle
'][1][1]):
array[row,col] = [255,255,255]
image.fromarray(array).s**e(source)
#更新源影象
result.sort(key= lambda x: sqrt(x[0]*x[0]+x[1]*x[1]))#
根據距離(0,0)排序
輸出0.0870201587677002[(112, 63), (112, 119), (160, 63), (160, 119), (208, 63), (208, 119), (256, 63), (256, 119), (304, 63), (304, 119)]
(112, 63)
iOS點選推送訊息跳到應用指定頁面
現在的推送用的越來越頻繁,幾乎每個應用都開始用到了。其實又有幾個使用者會去看推送訊息呢?沒辦法,產品經理最大啊,只是苦了我們這一幫程式設計師啊!閒話少說,進入正題。兄弟我用的是極光推送,自然是以極光推送為例了。現在點選推送訊息,有兩種跳轉方式 1.開啟應用,跳轉到應用首頁 2.開啟應用,跳轉到指定頁...
iOS點選推送訊息跳到應用指定頁面方法
現在的推送用的越來越頻繁,幾乎每程式設計客棧個應用都開始用到了。其實又有幾個使用者會去看推送訊息呢?沒辦法,產品經理最大啊,只是苦了我們這一幫程式設計師啊!閒話少說,進入正題。兄弟我用的是極光推送,自然是以極光推送為例了。現在點選推送訊息,有兩種跳轉方式 1.開啟應用,跳轉到應用首頁 2.開啟應用,...
VUE中實現點選按鈕重新整理頁面的方法
這裡先介紹兩種簡單粗暴的重新整理頁面方法,但會有較長的白屏時間,比較影響使用者體驗,並不推薦 第一種 window.location.reload 第二種 this router.go 0 下面進入正題,也是我們重新整理頁面比較推薦的方式 首先我們需要先了解一下vue中的依賴注入provide 和 ...