您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python基于opencv批量生成验证码的示例

51自学网 2021-10-30 22:43:12
  python
这篇教程python基于opencv批量生成验证码的示例写得很实用,希望能帮到您。

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

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

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

  代码如下:

import cv2import numpy as npline_num = 10pic_num = 1000path = "./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 = 60img_width = 240for 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 批量生成验证码的资料请关注51zixue.net其它相关文章!


python基于tkinter制作下班倒计时工具
python实现三阶魔方还原的示例代码
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。