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使用PythonMagick将jpg图片转换成ico图片的方法
Mar 26 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
Python实战购物车项目的实现参考
Feb 20 Python
python opencv 图像拼接的实现方法
Jun 27 Python
Django后台admin的使用详解
Jul 08 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
春节到了 教你使用python来抢票回家
Jan 06 Python
使用K.function()调试keras操作
Jun 17 Python
python内置模块之上下文管理contextlib
Jun 14 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实现框架(一)
2006/10/09 PHP
我常用的几个类
2006/10/09 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
react-router实现跳转传值的方法示例
2017/05/27 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
母亲七十大寿答谢词
2014/01/18 职场文书
军训自我鉴定
2014/01/22 职场文书
新三好学生主要事迹
2014/01/23 职场文书
陈欧的广告词
2014/03/18 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
设备收款委托书范本
2014/10/02 职场文书
六年级数学教学反思
2016/02/16 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
Python中的 enumerate和zip详情
2022/05/30 Python