万物皆可 Serverless 之使用云函数 SCF 快速部署验证码识别接口

本文介绍如何利用腾讯云云函数SCF快速部署验证码识别接口,免去繁琐的服务器配置,提高开发效率。通过SCF+COS实现全栈应用,详细步骤包括新建Python云函数、编写识别函数和上线发布。示例代码展示了简单的验证码识别流程,对于复杂验证码,可结合深度学习框架。此外,还介绍了Serverless Framework 30天试用计划。
摘要由CSDN通过智能技术生成

验证码识别是搞爬虫实现自动化脚本避不开的一个问题。通常验证码识别程序要么部署在本地,要么部署在服务器端。如果部署在服务器端就需要自己去搭建配置网络环境并编写调用接口,这是一个极其繁琐耗时的过程。

本文来自 Serverless 社区用户「乂乂又又」供稿

但是现在我们通过腾讯云云函数 SCF,就可以快速将本地的验证码识别程序发布上线,极大地提高了开发效率。

效果展示

一种比较简单的验证码

识别扭曲变形的验证码

可以看到,识别效果还是蛮好的,甚至超过了肉眼识别率。

操作步骤

传统的验证码识别流程是

  1. 图像预处理(灰化,去噪,切割,二值化,去干扰线等)
  2. 验证码字符特征提取(SVM,CNN 等)
  3. 验证码识别

下面我就带大家一起来创建、编写并发布上线一个验证识别云函数

第一步:新建 python 云函数

参见系列文章《万物皆可Serverless之使用 SCF+COS 快速开发全栈应用》

第二步:编写验证识别云函数

一个简单的验证码

Life is short, show me the code.

这里我就以一个最简单的验证码识别程序为例,直接上代码

import io
import os
import time
from PIL import Image as image
import json

#字符特征
chars = {
    '1': [1, 1, 1, 0, 1, ...],
    '2': [1, 0, 0, 1, 0, ...],
    '3': [0, 1, 0, 0, 1, ...],
    # 其他字符特征...
}


# 灰度处理
def covergrey(img):
    return img.convert('L')

# 去除验证码边框
def clearedge(img):
    for y in range(img.size[1]):
        img.putpixel((0, y), 255)
        img.putpixel((1, y), 255)
        img.putpixel((2, y), 255)
        img.putpixel((img.size[0]-1, y), 255)
        img.putpixel((img.size[0]-2, y), 255)
        img.putpixel((img.size[0]-3, y), 255)
    for x in range(img.size[0]):
        img.putpixel((x, 0), 255)
        img.putpixel((x, 1), 255)
        img.putpixel((x, 2), 255)
        img.putpixel((x, img.size[1]-1), 255)
        img.putpixel((x, img.size[1]-2), 255)
        img.putpixel((x, img.si
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值