知足常乐|最优!python+opencv实现蓝色车牌字符分割( 三 )

6 cv2.threshold函数:
===============
6.1 cv2.threshold用来调节图片二值化的效果的一个函数 , 其参数不一样效果不同 。
6.2 如图:
知足常乐|最优!python+opencv实现蓝色车牌字符分割0.png
6.3 上述代码:
#图像黑白的二值化cv2.threshold个参数#第1步:导入模块import cv2import numpy as npfrom matplotlib import pyplot as plt#第2步:读取图片img = cv2.imread('/home/xgj/Desktop/carcut/66.jpg', 0)#1是原图 , 0是灰色#如果读取1 , 然后用matplotlib显示可能与真实的原图不一样#img = cv2.imread('/home/xgj/Desktop/carcut/66.jpg', 1)#第3步:各参数调用ret, thresh1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)ret, thresh2 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)ret, thresh3 = cv2.threshold(img, 127, 255, cv2.THRESH_TRUNC)ret, thresh4 = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO)ret, thresh5 = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO_INV)#第4步:定义各列表titles = ['original image', 'Binary', 'binary-inv', 'trunc', 'tozero', 'tozero-inv']images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]#第5步:matplotlib显示0图 , 即灰色图 , 不会有异常#如果调用1 , 显示原图 , matplotlib显示就会不一样#cv2:opencv读取图像为b,g,r方法#plt函数是rgb方式读取的for i in range(6):plt.subplot(2, 3, i+1)plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([])plt.yticks([])plt.show()6.4 设置为1 , 读取图片:
知足常乐|最优!python+opencv实现蓝色车牌字符分割6.5 bgr和rgb转换:省略 , 我有介绍过 。
7 不足小结:新能源汽车的白色绿色底的车牌有小bug 。


推荐阅读