知足常乐|最优!python+opencv实现蓝色车牌字符分割
1 说明:
=====
1.1 完整汽车车牌的识别 , 包括汽车车牌的定位 , 提取 , 字符分割显示和车牌识别四大部分 。
1.2 目前这已经是一项成熟的技术 , 本文主要通过汽车车牌的字符分割并显示车牌号码 , 熟悉python和opencv的技术 。
1.3 本文已经写了2篇相关文章 , 汽车车牌的定位、提取 , 本文重点讲解蓝色小轿车的汽车车牌的字符分割、保存、显示技术 。
1.4 讲解非常清楚 , 注释详细 , 通俗易懂 , 并复习opencv的threshold函数 。
2 操作和效果图:
3 声明:
=====
3.1 汽车和车牌:来自今日头条免费正版图库 , 仅供学习 。
如有冒犯 , 请谅解 , 仅供学习
3.2 汽车车牌提取:
1.png , 提取出来的汽车车牌
3.3 参考我的上一篇文章:
《一步一步详细讲解:python+opencv的车牌提取大全》
3.4 环境:
python3.8 , 深度操作系统deepin-linux , 微软编辑器vscode , opencv版本4.2.0 。
【知足常乐|最优!python+opencv实现蓝色车牌字符分割】===重点===
4 代码讲解:
========
4.1 第1步:导入模块:
import cv2import numpy as np
4.2 第2步:图片的预处理
# 2-1:读取抠出来的蓝色车牌 , 汽车提取出来的车牌img=cv2.imread('/home/xgj/Desktop/carcut/1.png')cv2.imshow('carblurpai',img)cv2.waitKey(0)# 2-2:图像归一化img_resize = cv2.resize(img,(136,36),interpolation=cv2.INTER_AREA)# 2-3:灰度化+二值化img_gray_1 = cv2.cvtColor(img_resize,cv2.COLOR_BGR2GRAY)ret1,img_thre_1 = cv2.threshold(img_gray_1,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)# 2-4:高斯模糊img_gaus = cv2.GaussianBlur(img_resize,(3,5),0) # 2-5:灰度处理img_gray = cv2.cvtColor(img_gaus,cv2.COLOR_BGR2GRAY) # 2-6:图像黑白的二值化ret,img_thre = cv2.threshold(img_gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
4.3 第3步:判断底色和字体色 , 当然经过预处理后肯定符合 , 主要是处理后将相关指标存储起来以备后面调用 。
# 3-1:初始化定义列表white=[]black=[]height=img_thre.shape[0]width=img_thre.shape[1] white_max=0black_max=0# 3-2:计算每一列的黑白像素总和for i in range(width):line_white=0line_black=0for j in range(height):if img_thre[j][i]==255:line_white+=1if img_thre[j][i]==0:line_black+=1white_max=max(white_max,line_white)black_max=max(black_max,line_black)white.append(line_white)black.append(line_black)# 3-3:arg为true表示黑底白字 , False为白底黑字arg=Trueif black_max
推荐阅读
- 知足常乐|眼镜销售智能化,这个AI黑科技颠覆传统模式
- 知足常乐|卡顿的电脑如何满血复活?卖掉了太可惜,我教你如何正确复活
- 知足常乐|Java线程池原理,这一篇就够了
- 方舟:生存进化|玩家眼中最优秀的开放世界游戏,款款都是好评9.0以上的大作
- 青年|星座界公认最优秀的星座top3,你同意吗?
- 21金融圈|大连圣亚宫斗一波三折!董事长进不了公司大门,律师:可提起诉讼但非最优选择丨21说案
- 知足常乐|北京国安成绩不稳定原因揭晓!下午五点球迷给出答案,且大局已定
- 阿陈新说|有钱有才还痴情,古代国民老公王献之:王羲之最优秀的儿子
- 正宗长白山灵芝孢子粉,有灵气的地方,种出最优质的好灵芝!孟召秀灵芝孢子粉
- 知足常乐|把数据输入R之后,如何进行简单的操作(一)