python实现图片中文字分割效果
作者:Jackilina_Stone 发布时间:2023-03-11 16:39:42
标签:python,文字分割
本文实例为大家分享了python实现图片中文字分割的具体代码,供大家参考,具体内容如下
1、原始图片(包含数字):
结果图:
2、原始图片(包含文字):
结果图:
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
来源:https://blog.csdn.net/wss794/article/details/89386885
0
投稿
猜你喜欢
- 具体代码如下:Function ASTCreateFtpSite(IPAddress, RootDirectory,&n
- 本文实例为大家分享了python开发飞机大战游戏的具体代码,供大家参考,具体内容如下import pygameimport randomim
- 那天偶尔看到看到一个小问题:两个不等长列表a=[1,2,3],b=[4,5,6,7],求它们对应元素的乘积的和。我一开始想到的方法就是选择更
- 1、前不久,friendfeed.com把主导航从上面,移到了右侧。现在,又改到了左侧。2、现在,twitter.com把页签(相当于二级导
- 本文实例讲述了python2 对excel表格操作。分享给大家供大家参考,具体如下:#!/usr/bin/env python2# -*-
- str字符串s = '中文' # s: <type 'str'>s是个str对象,中
- 一、前言1.1 关于描述性统计分析概括地来说,描述性统计分析就是在收集到的数据的基础上,运用制表和分类,图形以及计算概括性数据来描述数据特征
- 前言用过Pandas和openpyxl库的同学都知道,这两个库是相互互补的。Pandas绝对是Python中处理Excel最快、最好用的库,
- 查看逻辑读前10的SQL:set linesize 300;set pagesize 300;set long 50000;SELECT *
- 用命令创建Django项目1.将磁盘切换为D盘2.在D盘的路径下创建Django项目创建项目应用3.最后显示新建index文件夹启动项目1.
- 控制字符控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换
- 本文实例讲述了JavaScript实现控制打开文件另存为对话框的方法。分享给大家供大家参考。具体如下:这里通过JS打开图片另存为对话框,提示
- 依据null-values,MySQL的值为null的意思只是代表没有数据,null值和某种类型的零值是两码事,比如int类型的零值为0,字
- 本文实例讲述了Python3使用pandas模块读写excel操作。分享给大家供大家参考,具体如下:前言Python Data Analys
- 一、Pandas如何将表格的前几行生成html实战场景:Pandas如何将表格的前几行生成html1.1主要知识点文件读写基础语法Panda
- chomp是用来删除换行符.#!/usr/bin/perl $c="abcde"; chomp($c); print &
- asyncore即是一个异步的socket封装,特别是dispatcher类中包含了很多异步调用的socket操作方法。模块常见方法这个模块
- 这里提供三种方法:1,使用正则表达式Function regKillHTML(str) &nb
- 一、什么是数组数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。二、声明数据在PHP中声
- pandas转数组np.array(pandas)数组转pandaspandas.DataFrame(numpy)pandas连接,只是左右