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 相关文章推荐
web.py获取上传文件名的正确方法
Aug 26 Python
Python实现竖排打印传单手机号码易撕条
Mar 16 Python
Python编写电话薄实现增删改查功能
May 07 Python
Python正则表达式知识汇总
Sep 22 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
用 python 进行微信好友信息分析
Nov 28 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模拟HTTP认证
2006/10/09 PHP
php表单提交问题的解决方法
2011/04/12 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
关于crontab的使用详解
2013/06/24 PHP
php查看当前Session的ID实例
2015/03/16 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
vue router demo详解
2017/10/13 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
python框架flask表单实现详解
2019/11/04 Python
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
大学生求职信例文
2014/06/29 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
优秀班主任材料
2014/12/16 职场文书
拖欠货款起诉状
2015/05/20 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL