python实现图片中文字分割效果


Posted in Python onJuly 22, 2019

本文实例为大家分享了python实现图片中文字分割的具体代码,供大家参考,具体内容如下

1、原始图片(包含数字):

python实现图片中文字分割效果

结果图:

python实现图片中文字分割效果

2、原始图片(包含文字):

python实现图片中文字分割效果

结果图:

python实现图片中文字分割效果

3、代码如下:

import cv2
import numpy as np
 
path = 'test.jpg'
root = 'output\\'
# 图像resize
dsize = 36
img = cv2.imread(path)
data = np.array(img)
height = data.shape[0]
width = data.shape[1]
# 设置最小的文字像素高度
min_val = 10
 
start_i = -1
end_i = -1
# 存放每行的起止坐标
rowinfo = []
 
# 行分割
for i in range(height):
 
 # 行中有字相关信息
 if (not data[i].all()):
 end_i = i
 if(start_i < 0):
 start_i = i
 pass
 # 行中无字相关信息
 elif (data[i].all() and start_i >= 0):
 if(end_i - start_i >= min_val):
 rowinfo.append((start_i, end_i))
 pass
 start_i, end_i = -1, -1
print(rowinfo)
 
# 列分割
start_j = -1
end_j = -1
# 最小文字像素宽度
min_val_word = 5
# 分割后保存编号
number = 0
for start, end in rowinfo:
 for j in range(width):
 # 列中有字相关信息
 if(not data[start: end, j].all()):
 end_j = j
 if(start_j < 0):
  start_j = j
  pass
 # 列中无字信息
 elif(data[start: end, j].all() and start_j >= 0):
 if(end_j - start_j >= min_val_word):
 img = data[start:end, start_j: end_j]
 im2save = cv2.resize(img, (dsize, dsize)) #归一化处理
 cv2.imwrite(root + '%d.jpg' % number, im2save)
 number += 1
 pass
 start_j, end_j = -1, -1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
在Python中处理时间之clock()方法的使用
May 22 Python
django接入新浪微博OAuth的方法
Jun 29 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python使用pymysql小技巧
Jun 04 Python
在windows下Python打印彩色字体的方法
May 15 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
numpy数组之存取文件的实现示例
May 24 Python
python 批量修改 labelImg 生成的xml文件的方法
Sep 09 Python
Python JSON编解码方式原理详解
Jan 20 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
django用户登录验证的完整示例代码
Jul 21 #Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 #Python
详解Django模版中加载静态文件配置方法
Jul 21 #Python
django数据库自动重连的方法实例
Jul 21 #Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 #Python
python 自定义装饰器实例详解
Jul 20 #Python
Python 列表去重去除空字符的例子
Jul 20 #Python
You might like
SSI指令
2006/11/25 PHP
PHP中读写文件实现代码
2011/10/20 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
2013/06/24 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PDO::errorCode讲解
2019/01/28 PHP
splice slice区别
2006/10/09 Javascript
javascript中对对层的控制
2006/12/29 Javascript
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python学生管理系统代码实现
2020/04/05 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
python基于win32api实现键盘输入
2020/12/09 Python
小区物业门卫岗位职责
2014/04/10 职场文书
大二学习计划书范文
2014/04/27 职场文书
第二课堂活动总结
2014/05/07 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
先进单位事迹材料
2014/12/25 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
JavaScript 原型与原型链详情
2021/11/02 Javascript
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
python高温预警数据获取实例
2022/07/23 Python