- 聲明:文章僅源自個人興趣愛好,不涉及他用,侵權聯繫刪。
轉載請註明:轉自https://leejason.blog.csdn.net/article/details/106211451
OpenCV快速找出滑塊驗證碼缺口座標
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貼層的挺好使。