首先你应该使用这个命令来安装hyperlpr:
pip install hyperlpr
然后我用这个代码来识别车牌号。
from hyperlpr import *
import cv2 #opencv3.X version
import numpy as np
from math import sqrt
#BGR
COLORS = [
(230, 131, 1), # blue
(112, 249, 90), # green
(5, 189, 252), # yellow
(72, 61, 60), # black
(251, 253, 252) # white
]
def closest_color(rgb):
r, g, b = rgb
color_diffs = []
for color in COLORS:
cr, cg, cb = color
color_diff = sqrt(abs(r - cr)**2 + abs(g - cg)**2 + abs(b - cb)**2)
color_diffs.append((color_diff, color))
return min(color_diffs)[1]
image_list = [r"9.jpg","11.jpg"]
for name in image_list:
image = cv2.imread(name)
result_green = HyperLPR_plate_recognition(image)
if result_green:
number = result_green[0][0]
confidence = result_green[0][1]
left,top,right,bottom = result_green[0][2]
rec = image[top:bottom,left:right]
cv2.imshow(name,rec)
cv2.waitKey(0)
blue_mean = np.mean(image[:,:,0])#blue_mean
green_mean = np.mean(image[:,:,1])#green_mean
red_mean = np.mean(image[:,:,2])#red_mean
print(blue_mean,green_mean,red_mean)
index = COLORS.index(closest_color((red_mean, green_mean, blue_mean)))
print(index)#black
无论是绿色车牌还是黄色车牌,使用np.mean后的结果都是黑色,那么如何识别车牌颜色?