python五行程式碼解決滑塊驗證的缺口距離識別,破解滑塊驗證

目前網上關於滑塊的缺口識別的方法很多,但是都不極簡,看起來繁雜,各種演算法的都有,有遍歷的有二分法的,今天寫個最簡單,準確率最高的。

直接看程式碼:

defFindPic(target, template):

“”“

找出影象中最佳匹配位置

:param target: 目標即背景圖

:param template: 模板即需要找到的圖

:return: 返回最佳匹配及其最差匹配和對應的座標

”“”

target_rgb = cv2。imread(target)

target_gray = cv2。cvtColor(target_rgb, cv2。COLOR_BGR2GRAY)

template_rgb = cv2。imread(template, 0)

res = cv2。matchTemplate(target_gray, template_rgb, cv2。TM_CCOEFF_NORMED)

value = cv2。minMaxLoc(res)

使用cv2庫,先讀取背景圖,然後夜視化處理(消除噪點),然後讀取模板圖片,使用cv2自帶圖片識別找到模板在背景圖中的位置,使用minMaxLoc提取出最佳匹配的最大值和最小值,返回一個數組形如(-0。3, 0。95, (121,54),(45, 543))元組四個元素,分別是最小匹配機率、最大匹配機率,最小匹配機率對應座標,最大匹配機率對應座標。

我們需要的是最大匹配機率座標,對應的分別是x和y座標,但是這個不一定,有些時候可能是最小匹配機率座標,最好是根據機率的絕對值大小來比較。

滑塊驗證較為核心的兩步,第一步是找出缺口距離,第二步是生成軌跡並滑動,較為複雜的情況下還要考慮初始模板圖片在背景圖中的座標,以及模板圖片透明邊緣的寬度,這些都是影響軌跡的因素。

python五行程式碼解決滑塊驗證的缺口距離識別,破解滑塊驗證

————————————————

ID:Python之戰

|作|者|公(zhong)號:python之戰

專注Python,專注於網路爬蟲、RPA的學習-踐行-總結

喜歡研究技術瓶頸並分享,歡迎圍觀,共同學習。

獨學而無友,則孤陋而寡聞!