主页 > 知识库 > python基于opencv批量生成验证码的示例

python基于opencv批量生成验证码的示例

热门标签:百度AI接口 Win7旗舰版 电话运营中心 客户服务 硅谷的囚徒呼叫中心 语音系统 呼叫中心市场需求 企业做大做强

基本思路是使用opencv来把随机生成的字符,和随机生成的线段,放到一个随机生成的图像中去。

  虽然没有加复杂的形态学处理,但是目前看起来效果还不错

  尝试生成1000张图片,但是最后只有998张,因为有有重复的,被覆盖掉了。

  代码如下:

import cv2
import numpy as np
line_num = 10
pic_num = 1000
path = "./imgs/"
def randcolor():        
    return (np.random.randint(0,255),np.random.randint(0,255),np.random.randint(0,255))
    
def randchar():
    return chr(np.random.randint(65,90))
    
def randpos(x_start,x_end,y_start,y_end):
    return (np.random.randint(x_start,x_end),
            np.random.randint(y_start,y_end))
    
    
img_heigth = 60
img_width = 240
for i in range(pic_num):
    img_name = ""
    #生成一个随机矩阵,randint(low[, high, size, dtype])
    img = np.random.randint(100,200,(img_heigth,img_width, 3), np.uint8)
    #显示图像
    #cv2.imshow("ranImg",img)
    
    x_pos = 0
    y_pos = 25
    for i in range(4):
        char = randchar()
        img_name += char
        cv2.putText(img,char,
                    (np.random.randint(x_pos,x_pos + 50),np.random.randint(y_pos,y_pos + 35)), 
                    cv2.FONT_HERSHEY_SIMPLEX,
                    1.5,
                    randcolor(),
                    2,
                    cv2.LINE_AA)
        x_pos += 45
    
    #cv2.imshow("res",img)
    
    #添加线段
    for i in range(line_num):
        img = cv2.line(img,
                       randpos(0,img_width,0,img_heigth),
                       randpos(0,img_width,0,img_heigth),
                        randcolor(),
                        np.random.randint(1,2))
        
    #cv2.imshow("line",img)
    cv2.imwrite(path + img_name + ".jpg",img)
    #cv2.waitKey(0)                  
    #cv2.destroyAllWindows()

  结果:

以上就是python基于opencv批量生成验证码的示例的详细内容,更多关于python 批量生成验证码的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
  • 使用python批量生成insert语句的方法
  • python基础学习之生成器与文件系统知识总结
  • python生成器generator:深度学习读取batch图片的操作
  • 教你怎么用Python生成九宫格照片
  • Python如何生成随机高斯模糊图片详解
  • python使用ProjectQ生成量子算法指令集
  • 教你使用Python根据模板批量生成docx文档
  • Python实现K-means聚类算法并可视化生成动图步骤详解
  • 用python自动生成日历
  • Python趣味挑战之给幼儿园弟弟生成1000道算术题

标签:海南 崇左 喀什 长沙 山西 济南 安康 山西

巨人网络通讯声明:本文标题《python基于opencv批量生成验证码的示例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266