python 超简单的字符分割算法(车牌识别、仪表识别等)_python字符分割识别

该博客介绍了使用Python进行字符分割的算法,适用于车牌和仪表识别场景。通过求行和列的范围,去噪点,以及图像处理技术实现字符区域的精确裁剪。内容包括图像的二值化、腐蚀与膨胀操作,以及如何找到字符的边界并进行分割。
摘要由CSDN通过智能技术生成

![在这里插入图片描述](https://img-blog.csdnimg.cn/a3ab8f4a990d4765a1b44b7c0e4be119.jpg#pic_center)


### 确定字符区域


考虑最理想的情况,图中的字符是端正没有倾斜歪曲的。将像素灰度矩阵分别进行列相加、行相加,则在得到的列和、行和数组中第一个非 0 元素索引到最后一个非 0 元素索引包裹的区间即就是字符区域。



h, w = image.shape # 原图的高和宽
list1 = [] # 列和
list2 = [] # 行和

for i in range(w):
list1.append(1 if image[:, i].sum() != 0 else 0) # 列求和,不为0置1
for i in range(h):
list2.append(1 if image[i, :].sum() != 0 else 0) # 行求和,不为0置1

裁剪字符区域

求行的范围

flag = 0
for i, e in enumerate(list1):
if e != 0:
if flag == 0: # 第一个不为0的位置记录
start_w = i
flag = 1
else: # 最后一个不为0的位置
end_w = i

求列的范围

flag = 0
for i, e in enumerate(list2):
if e != 0:
if flag == 0: # 第一个不为0的位置记录
start_h = i
flag = 1
else:

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值