资源简介
python实现车牌识别,使用opencv中的svm,大概500行代码. 然后还有识别用的数据库,
代码片段和文件信息
import cv2
import numpy as np
from numpy.linalg import norm
import sys
import os
import json
SZ = 20 #训练图片长宽
MAX_WIDTH = 1000 #原始图片最大宽度
Min_Area = 2000 #车牌区域允许最大面积
PROVINCE_START = 1000
#读取图片文件
def imreadex(filename):
return cv2.imdecode(np.fromfile(filename dtype=np.uint8) cv2.IMREAD_COLOR)
def point_limit(point):
if point[0] < 0:
point[0] = 0
if point[1] < 0:
point[1] = 0
#根据设定的阈值和图片直方图,找出波峰,用于分隔字符
def find_waves(threshold histogram):
up_point = -1#上升点
is_peak = False
if histogram[0] > threshold:
up_point = 0
is_peak = True
wave_peaks = []
for ix in enumerate(histogram):
if is_peak and x < threshold:
if i - up_point > 2:
is_peak = False
wave_peaks.append((up_point i))
elif not is_peak and x >= threshold:
is_peak = True
up_point = i
if is_peak and up_point != -1 and i - up_point > 4:
wave_peaks.append((up_point i))
return wave_peaks
#根据找出的波峰,分隔图片,从而得到逐个字符图片
def seperate_card(img waves):
part_cards = []
for wave in waves:
part_cards.append(img[: wave[0]:wave[1]])
return part_cards
#来自opencv的sample,用于svm训练
def deskew(img):
m = cv2.moments(img)
if abs(m[‘mu02‘]) < 1e-2:
return img.copy()
skew = m[‘mu11‘]/m[‘mu02‘]
M = np.float32([[1 skew -0.5*SZ*skew] [0 1 0]])
img = cv2.warpAffine(img M (SZ SZ) flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR)
return img
#来自opencv的sample,用于svm训练
def preprocess_hog(digits):
samples = []
for img in digits:
gx = cv2.Sobel(img cv2.CV_32F 1 0)
gy = cv2.Sobel(img cv2.CV_32F 0 1)
mag ang = cv2.cartToPolar(gx gy)
bin_n = 16
bin = np.int32(bin_n*ang/(2*np.pi))
bin_cells = bin[:10:10] bin[10::10] bin[:1010:] bin[10:10:]
mag_cells = mag[:10:10] mag[10::10] mag[:1010:] mag[10:10:]
hists = [np.bincount(b.ravel() m.ravel() bin_n) for b m in zip(bin_cells mag_cells)]
hist = np.hstack(hists)
# transform to Hellinger kernel
eps = 1e-7
hist /= hist.sum() + eps
hist = np.sqrt(hist)
hist /= norm(hist) + eps
samples.append(hist)
return np.float32(samples)
#不能保证包括所有省份
provinces = [
“zh_cuan“ “川“
“zh_e“ “鄂“
“zh_gan“ “赣“
“zh_gan1“ “甘“
“zh_gui“ “贵“
“zh_gui1“ “桂“
“zh_hei“ “黑“
“zh_hu“ “沪“
“zh_ji“ “冀“
“zh_jin“ “津“
“zh_jing“ “京“
“zh_jl“ “吉“
“zh_liao“ “辽“
“zh_lu“ “鲁“
“zh_meng“ “蒙“
“zh_min“ “闽“
“zh_ning“ “宁“
“zh_qing“ “靑“
“zh_qiong“ “琼“
“zh_shan“ “陕“
“zh_su“ “苏“
“zh_sx“ “晋“
“zh_wan“ “皖“
“zh_xiang“ “湘“
“zh_xin“ “新“
“zh_yu“ “豫“
“zh_yu1“ “渝“
“zh_yue“ “粤“
“zh_yun“ “云“
“zh_zang“ “藏“
“zh_zhe“ “浙“
]
class StatModel(object):
def load(self fn):
self.model = self.model.load(fn)
def save(self fn):
self.model.save(fn)
class SVM(StatModel):
def __init__(self C = 1 gamma = 0.5):
self.model = cv2.ml.SVM_create()
self.model.setGamma(gamma)
self.model.setC(C)
self.model.setKernel(cv2.ml.SVM_RBF)
self.model.setT
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1157 2018-03-23 04:13 car\.gitignore
文件 262 2018-03-23 04:13 car\config.js
文件 18178 2018-05-14 14:06 car\predict.py
文件 4690657 2018-03-23 04:13 car\svm.dat
文件 3645216 2018-03-23 04:13 car\svmchinese.dat
文件 4543569 2018-03-23 04:13 car\test\1.jpg
文件 2718121 2018-03-23 04:13 car\test\2.jpg
文件 62588 2018-03-23 04:13 car\test\cAA662F.jpg
文件 27089 2018-03-23 04:13 car\test\car3.jpg
文件 25090 2018-03-23 04:13 car\test\car4.jpg
文件 28604 2018-03-23 04:13 car\test\car5.jpg
文件 27744 2018-03-23 04:13 car\test\car7.jpg
文件 24073 2018-03-23 04:13 car\test\lLD9016.jpg
文件 52515 2018-03-23 04:13 car\test\wA87271.jpg
文件 116063 2018-03-23 04:13 car\test\wATH859.jpg
文件 141788 2018-03-23 04:13 car\test\wAUB816.jpg
文件 665 2014-08-23 14:44 car\train\chars2\0\101-1.jpg
文件 674 2014-08-23 14:44 car\train\chars2\0\105-5.jpg
文件 641 2014-08-23 14:44 car\train\chars2\0\106-5.jpg
文件 642 2014-08-23 14:44 car\train\chars2\0\110-6.jpg
文件 646 2014-08-23 14:44 car\train\chars2\0\110-7.jpg
文件 712 2014-08-23 14:44 car\train\chars2\0\111-4.jpg
文件 639 2014-08-23 14:44 car\train\chars2\0\113-1.jpg
文件 669 2014-08-23 14:44 car\train\chars2\0\114-2.jpg
文件 666 2014-08-23 14:44 car\train\chars2\0\12-1.jpg
文件 683 2014-08-23 14:44 car\train\chars2\0\124-3.jpg
文件 674 2014-08-23 14:44 car\train\chars2\0\126-3.jpg
文件 674 2014-08-23 14:44 car\train\chars2\0\127-2.jpg
文件 657 2014-08-23 14:44 car\train\chars2\0\129-3.jpg
文件 716 2014-08-23 14:44 car\train\chars2\0\131-5.jpg
............此处省略16456个文件信息
- 上一篇:Python-3.7.4.tgz
- 下一篇:Python-3.6.2.tgz
相关资源
- Python-3.6.2.tgz
- Python-3.7.4.tgz
- Python语法入门thinkpython_cnpython_课件,
- Python27 x64.zip
- Python编程从入门到实践[中英文完整版
- Python机器学习经典 中文完整版高清
- python核心编程第三版(高清中文版)
- Python界面版学生管理系统
- python专利爬虫
- (一)python爬虫验证码识别去除干扰
- Python-西瓜视频百万英雄答题助手
- deep learning with python中文版232513
- python编程从入门到精通配套资源
- Data Wrangling with Python
- 笨方法学python3
- Python数据分析.mobi
- Hands-On Reinforcement Learning with Python 20
- wxPython3.0-win32-3.0.2.0-py27
- python知识点汇总 思维导图
- Python学习手册 第5版(Learning Python)
- 精通Python设计模式.pdf 详细目录,高清
- 经典教程Automate the Boring Stuff with Pyt
- Python和HDF5大数据应用
- 全套从零开始学Python网络爬虫教学以
- 大数据爬虫系统
- 《Python 学习手册》(第五版)英文版
- 《Python编程快速上手 让繁琐工作自动
- 神经网络与深度学习-Neural Network and
- Python数据科学手册源代码
- 航空公司客户价值大数据分析源代码
评论
共有 条评论