OpenCV for Python通道分離快速找出滑塊驗證碼中缺口座標

  • 聲明:文章僅源自個人興趣愛好,不涉及他用,侵權聯繫刪。
    轉載請註明:轉自https://leejason.blog.csdn.net/article/details/106211451

Opencv4 官方文檔 : https://docs.opencv.org/4.2.0//
Opencv4 for Python中文文檔點擊下載:OpenCV4 for Python 中文文檔

1.驗證碼及缺口圖示例

1.1 驗證碼(帶缺口)

在這裏插入圖片描述

1.2 缺口滑塊

注意這裏沒有手動添加空行,是缺口圖自帶空白屬性,滑塊帶有顏色,背景爲白色
在這裏插入圖片描述

2.灰度化

2.1 驗證碼

在這裏插入圖片描述
自動閾值灰度化後,缺口圖位置消失了,按照以往多中方法:
1.模板匹配:無法在大圖中獲取到缺口位置,所以次方法行不通;
2.就算完美截屏得到完整的沒有缺口的驗證碼圖片,色數對比也是行不通的…沒法的話繼續往下走,觀察圖片。

2.2 缺口圖

帶有顏色的滑塊部分灰度化成功
在這裏插入圖片描述

3.通道分離及其效果

通道分離原理:
在這裏插入圖片描述
結合通道分離原理圖,可以很好的理解,其實所謂的通道分離,就是將BGR三通道根據具體像素值分開。
實現通道分離代碼:
在這裏插入圖片描述
分離各通道後及其效果:在這裏插入圖片描述
都這效果了,咋處理應該比較清楚了!!!

4.找出缺口位置

將Alpha通道圖片保存後,藉助像素差異即可快速定位缺口位置
在這裏插入圖片描述

5.滑動驗證碼

藉助識別出的座標,設定滑動軌跡,滑動滑塊。下面是測試的動態錄屏,從效果來看,是非常good的。
在這裏插入圖片描述

當然了,此方法並不是適用一切驗證碼,滑塊類型爲alpha貼層的挺好使。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章