python3 实现验证码图片切割的方法


Posted in Python onDecember 07, 2018

切割前图片

python3 实现验证码图片切割的方法

切割后四个图片

python3 实现验证码图片切割的方法

代码

#coding:utf8
import os
from PIL import Image,ImageDraw,ImageFile
import numpy
import pytesseract
import cv2
import imagehash
import collections
class pictureIdenti:

 #rownum:切割行数;colnum:切割列数;dstpath:图片文件路径;img_name:要切割的图片文件
 def splitimage(self, rownum=1, colnum=4, dstpath="D:\work\python36_crawl\Veriycode",
     img_name="D:\work\python36_crawl\Veriycode\mode_5246.png",):
  img = Image.open(img_name)
  w, h = img.size
  if rownum <= h and colnum <= w:
   print('Original image info: %sx%s, %s, %s' % (w, h, img.format, img.mode))
   print('开始处理图片切割, 请稍候...')

   s = os.path.split(img_name)
   if dstpath == '':
    dstpath = s[0]
   fn = s[1].split('.')
   basename = fn[0]
   ext = fn[-1]

   num = 1
   rowheight = h // rownum
   colwidth = w // colnum
   file_list = []
   for r in range(rownum):
    index = 0
    for c in range(colnum):
     # (left, upper, right, lower)
     # box = (c * colwidth, r * rowheight, (c + 1) * colwidth, (r + 1) * rowheight)
     if index<1:
      colwid = colwidth+6
     elif index<2:
      colwid = colwidth + 1
     elif index < 3:
      colwid = colwidth

     box = (c * colwid, r * rowheight, (c + 1) * colwid, (r + 1) * rowheight)
     newfile = os.path.join(dstpath, basename + '_' + str(num) + '.' + ext)
     file_list.append(newfile)
     img.crop(box).save(os.path.join(dstpath, basename + '_' + str(num) + '.' + ext), ext)
     num = num + 1
     index+=1
   for f in file_list:
    print(f)
   print('图片切割完毕,共生成 %s 张小图片。' % num)

以上这篇python3 实现验证码图片切割的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 初始化多维数组代码
Sep 06 Python
Python实现的ini文件操作类分享
Nov 20 Python
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
python字符串中的单双引
Feb 16 Python
利用PyInstaller将python程序.py转为.exe的方法详解
May 03 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
python读取文本中的坐标方法
Oct 14 Python
Eclipse配置python默认头过程图解
Apr 26 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 #Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 #Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 #Python
Python实现的批量修改文件后缀名操作示例
Dec 07 #Python
Python实现随机创建电话号码的方法示例
Dec 07 #Python
selenium3+python3环境搭建教程图解
Dec 07 #Python
python对视频画框标记后保存的方法
Dec 07 #Python
You might like
php实现的在线人员函数库
2008/04/09 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
原生js实现日期联动
2015/01/12 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
Python3.x对JSON的一些操作示例
2017/09/01 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
制定岗位职责的原则
2013/11/08 职场文书
会计专业求职信范文
2014/03/16 职场文书
教师产假请假条
2014/04/10 职场文书
合作经营协议书范本
2014/09/16 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
MySQL 如何设计统计数据表
2021/06/15 MySQL