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 相关文章推荐
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
用Python制作简单的钢琴程序的教程
Apr 01 Python
在Python中使用poplib模块收取邮件的教程
Apr 29 Python
在Python中处理字符串之ljust()方法的使用简介
May 19 Python
python3中str(字符串)的使用教程
Mar 23 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
Python使用sklearn实现的各种回归算法示例
Jul 04 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
filter使用python3代码进行迭代元素的实例详解
Dec 03 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/06/07 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
jQuery的一些注意
2006/12/06 Javascript
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
Python IDLE入门简介
2017/12/08 Python
python+opencv识别图片中的圆形
2020/03/25 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
关于python中导入文件到list的问题
2020/10/31 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
大专自我鉴定范文
2013/10/23 职场文书
影视艺术学院毕业生自荐信
2013/11/13 职场文书
工地门卫岗位职责
2013/12/30 职场文书
教师评语大全
2014/04/28 职场文书
教师工作能力自我评价
2015/03/04 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
使用python绘制横竖条形图
2022/04/21 Python