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 28 Python
Python实现的简单文件传输服务器和客户端
Apr 08 Python
python结合API实现即时天气信息
Jan 19 Python
python自带的http模块详解
Nov 06 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
python config文件的读写操作示例
Sep 27 Python
Python中常用的高阶函数实例详解
Feb 21 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 Python
Python 语言实现六大查找算法
Jun 30 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
微信小程序 地图定位简单实例
2016/10/14 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
python中 chr unichr ord函数的实例详解
2017/08/06 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
毕业生就业自荐书
2013/12/15 职场文书
公司企业表扬信
2014/01/11 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android
Python OpenCV之常用滤波器使用详解
2022/04/07 Python