本文是通过opencv识别图片所含车牌的简单案例。
环境安装
首先你要有python环境,本文基于python3.6.3
安装命令:pip install opencv-python
然后测试下安装情况 import cv2 如果没有报错就可以了
如果没有matplotlib,也需要安装一下 pip install matplotlib
导入模块
import cv2
import numpy as np
import matplotlib.pyplot as plt
读取图片
使用cv2.imdecode()函数定义一个读取图片的方法
(从内存缓存中读取数据,并把数据解码成图像格式)
def imreadex(filename):
return cv2.imdecode(np.fromfile(filename, dtype=np.uint8), cv2.IMREAD_COLOR)
图像降噪
首先进行颜色翻转,既改变RGB,转为黑白两色
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
(图像处理中,常用的滤波算法有均值滤波、中值滤波以及高斯滤波等)
然后采用 GaussianBlur高斯滤波,对图像邻域内像素进行平滑时,邻域内不同位置的像素被赋予不同的权值。
cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) 进行形态学变化