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 实现堆排序算法代码
Jun 05 Python
Python的ORM框架SQLAlchemy入门教程
Apr 28 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
PYTHON基础-时间日期处理小结
May 05 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
python 猴子补丁(monkey patch)
Jun 26 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 Python
全网非常详细的pytest配置文件
Jul 15 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
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
php自定义错误处理用法实例
2015/03/20 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
Yii快速入门经典教程
2015/12/28 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
mac中利用NVM管理不同node版本的方法详解
2017/11/08 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
python实现对一个完整url进行分割的方法
2015/04/29 Python
python操作redis的方法
2015/07/07 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python 一句话生成字母表的方法
2019/01/02 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
对python中list的五种查找方法说明
2020/07/13 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
汽车专业毕业生自荐信
2013/11/03 职场文书
实习心得体会
2014/01/02 职场文书
科学发展观标语
2014/10/08 职场文书
实习介绍信范文
2015/05/05 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
Mysql忘记密码解决方法
2022/02/12 MySQL