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学习笔记之常用函数及说明
May 23 Python
python中map()函数的使用方法示例
Sep 29 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python3 实现文件批量重命名示例代码
Jun 03 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
手写一个python迭代器过程详解
Aug 27 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
Python super()函数使用及多重继承
May 06 Python
Python map及filter函数使用方法解析
Aug 06 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 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
德生9700DX电路分析
2021/03/02 无线电
一个典型的PHP分页实例代码分享
2011/07/28 PHP
php中序列化与反序列化详解
2017/02/13 PHP
Jquery cookie操作代码
2010/03/14 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
详解参数传递四种形式
2015/07/21 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python之array赋值技巧分享
2019/11/28 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
介绍一下Linux中的链接
2016/06/05 面试题
计算机科学与技术应届生求职信
2013/11/07 职场文书
仓库管理专业个人自我评价范文
2013/11/11 职场文书
个人求职信范例
2014/01/29 职场文书
员工教育培训协议书
2014/09/27 职场文书
十八大标语口号
2014/10/09 职场文书
公司员工安全协议书
2014/11/21 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL