当前位置: 首页 > news >正文

知名商城网站建设多少钱天津电力建设公司招标网站

知名商城网站建设多少钱,天津电力建设公司招标网站,简述电子商务网站建设流程,广丰网站seo0 前言 #x1f525; 优质竞赛项目系列#xff0c;今天要分享的是 #x1f6a9; 基于机器学习的车牌识别系统 #x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数#xff1a;4分工作量#xff1a;4分创新点#xff1a;3分 该项目较为新颖#xff0c;适…0 前言 优质竞赛项目系列今天要分享的是 基于机器学习的车牌识别系统 学长这里给一个题目综合评分(每项满分5分) 难度系数4分工作量4分创新点3分 该项目较为新颖适合作为竞赛课题方向学长非常推荐 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate 1 课题介绍 1.1 系统简介 车牌识别这个系统虽然传统古老却是包含了所有这四个特侦的一个大数据技术的缩影. 在车牌识别中你需要处理的数据是图像中海量的像素单元你处理的数据不再是传统的结构化数据而是图像这种复杂的数据如果不能在很短的时间内识别出车牌那么系统就缺少意义虽然一副图像中有很多的信息但可能仅仅只有那一小块的信息车牌以及车身的颜色是你关心而且这些信息都蕴含着巨大的价值。也就是说车牌识别系统事实上就是现在火热的大数据技术在某个领域的一个聚焦通过了解车牌识别系统可以很好的帮助你理解大数据技术的内涵也能清楚的认识到大数据的价值。 1.2 系统要求 它基于openCV这个开源库这意味着所有它的代码都可以轻易的获取。它能够识别中文例如车牌为苏EUK722的图片它可以准确地输出std:string类型的苏EUK722的结果。它的识别率较高。目前情况下字符识别已经可以达到90%以上的精度。 1.3 系统架构 整体包含两个系统: 车牌检测车牌字体识别(中文 数字 英文) 整体架构如下: 2 实现方式 2.1 车牌检测技术 车牌检测Plate Detection 对一个包含车牌的图像进行分析最终截取出只包含车牌的一个图块。这个步骤的主要目的是降低了在车牌识别过程中的计算量。如果直接对原始的图像进行车牌识别会非常的慢因此需要检测的过程。在本系统中我们使用SVM支持向量机这个机器学习算法去判别截取的图块是否是真的“车牌”。 车牌检测这里不详细说明, 只贴出opencv图像处理流程, 需要代码的可以留下邮箱 使用到的图像处理算法 高斯模糊灰度化处理Sobel算子(边缘检测)开操作闭操作仿射变换霍姆线性检测角度矫正 2.2 车牌识别技术 字符识别Chars Recognition 有的书上也叫Plate Recognition我为了与整个系统的名称做区分所以改为此名字。这个步骤的主要目的就是从上一个车牌检测步骤中获取到的车牌图像进行光学字符识别OCR这个过程。其中用到的机器学习算法是著名的人工神经网络ANN中的多层感知机MLP模型。最近一段时间非常火的“深度学习”其实就是多隐层的人工神经网络与其有非常紧密的联系。通过了解光学字符识别OCR这个过程也可以知晓深度学习所基于的人工神经网路技术的一些内容。 我们这里使用深度学习的方式来对车牌字符进行识别, 为什么不用传统的机器学习进行识别呢, 看图就知道了: 图2 深度学习右与PCA技术左的对比 可以看出深度学习对于数据的分类能力的优势。 这里博主使用生成对抗网络进行字符识别训练, 效果相当不错, 识别精度达到了98% 2.3 SVM识别字符 定义 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.setType(cv2.ml.SVM_C_SVC)#训练svmdef train(self, samples, responses):self.model.train(samples, cv2.ml.ROW_SAMPLE, responses)​ 调用方法喂数据 def train_svm(self):#识别英文字母和数字self.model SVM(C1, gamma0.5)#识别中文self.modelchinese SVM(C1, gamma0.5)if os.path.exists(svm.dat):self.model.load(svm.dat)训练保存模型 ​ else: ​ chars_train [] ​ chars_label [] ​ for root, dirs, files in os.walk(train\\chars2):if len(os.path.basename(root)) 1:continueroot_int ord(os.path.basename(root))for filename in files:filepath os.path.join(root,filename)digit_img cv2.imread(filepath)digit_img cv2.cvtColor(digit_img, cv2.COLOR_BGR2GRAY)chars_train.append(digit_img)#chars_label.append(1)chars_label.append(root_int)chars_train list(map(deskew, chars_train))chars_train preprocess_hog(chars_train)#chars_train chars_train.reshape(-1, 20, 20).astype(np.float32)chars_label np.array(chars_label)print(chars_train.shape)self.model.train(chars_train, chars_label)​ 车牌字符数据集如下 这些是字母的训练数据同样的还有我们车牌的省份简写: 核心代码 ​ predict_result []roi Nonecard_color Nonefor i, color in enumerate(colors):if color in (blue, yello, green):card_img card_imgs[i]gray_img cv2.cvtColor(card_img, cv2.COLOR_BGR2GRAY)#黄、绿车牌字符比背景暗、与蓝车牌刚好相反所以黄、绿车牌需要反向if color green or color yello:gray_img cv2.bitwise_not(gray_img)ret, gray_img cv2.threshold(gray_img, 0, 255, cv2.THRESH_BINARY cv2.THRESH_OTSU)#查找水平直方图波峰x_histogram np.sum(gray_img, axis1)x_min np.min(x_histogram)x_average np.sum(x_histogram)/x_histogram.shape[0]x_threshold (x_min x_average)/2wave_peaks find_waves(x_threshold, x_histogram)if len(wave_peaks) 0:print(peak less 0:)continue#认为水平方向最大的波峰为车牌区域wave max(wave_peaks, keylambda x:x[1]-x[0])gray_img gray_img[wave[0]:wave[1]]#查找垂直直方图波峰row_num, col_num gray_img.shape[:2]#去掉车牌上下边缘1个像素避免白边影响阈值判断gray_img gray_img[1:row_num-1]y_histogram np.sum(gray_img, axis0)y_min np.min(y_histogram)y_average np.sum(y_histogram)/y_histogram.shape[0]y_threshold (y_min y_average)/5#U和0要求阈值偏小否则U和0会被分成两半wave_peaks find_waves(y_threshold, y_histogram)#for wave in wave_peaks:# cv2.line(card_img, pt1(wave[0], 5), pt2(wave[1], 5), color(0, 0, 255), thickness2) #车牌字符数应大于6if len(wave_peaks) 6:print(peak less 1:, len(wave_peaks))continuewave max(wave_peaks, keylambda x:x[1]-x[0])max_wave_dis wave[1] - wave[0]#判断是否是左侧车牌边缘if wave_peaks[0][1] - wave_peaks[0][0] max_wave_dis/3 and wave_peaks[0][0] 0:wave_peaks.pop(0)#组合分离汉字cur_dis 0for i,wave in enumerate(wave_peaks):if wave[1] - wave[0] cur_dis max_wave_dis * 0.6:breakelse:cur_dis wave[1] - wave[0]if i 0:wave (wave_peaks[0][0], wave_peaks[i][1])wave_peaks wave_peaks[i1:]wave_peaks.insert(0, wave)#去除车牌上的分隔点point wave_peaks[2]if point[1] - point[0] max_wave_dis/3:point_img gray_img[:,point[0]:point[1]]if np.mean(point_img) 255/5:wave_peaks.pop(2)if len(wave_peaks) 6:print(peak less 2:, len(wave_peaks))continuepart_cards seperate_card(gray_img, wave_peaks)for i, part_card in enumerate(part_cards):#可能是固定车牌的铆钉if np.mean(part_card) 255/5:print(a point)continuepart_card_old part_cardw abs(part_card.shape[1] - SZ)//2part_card cv2.copyMakeBorder(part_card, 0, 0, w, w, cv2.BORDER_CONSTANT, value [0,0,0])part_card cv2.resize(part_card, (SZ, SZ), interpolationcv2.INTER_AREA)#part_card deskew(part_card)part_card preprocess_hog([part_card])if i 0:resp self.modelchinese.predict(part_card)charactor provinces[int(resp[0]) - PROVINCE_START]else:resp self.model.predict(part_card)charactor chr(resp[0])#判断最后一个数是否是车牌边缘假设车牌边缘被认为是1if charactor 1 and i len(part_cards)-1:if part_card_old.shape[0]/part_card_old.shape[1] 7:#1太细认为是边缘continuepredict_result.append(charactor)roi card_imgcard_color colorbreakreturn predict_result, roi, card_color#识别到的字符、定位的车牌图像、车牌颜色​ ​ 2.4 最终效果 最后算法部分可以和你想要的任何UI配置到一起: 可以这样 : 也可以这样: 甚至更加复杂一点: 最后 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate
http://www.pierceye.com/news/81997/

相关文章:

  • 深圳做门户网站市场监督管理局投诉举报管理办法
  • 建设信用卡积分商城网站域名如何备案教程
  • 做网站必须租服务器吗茂名seo快速排名外包
  • 如何进入一个网站开发人员工具素材网有哪些
  • 英文网站建设报价问答网站怎么做营销
  • 国外html5网站源码wordpress调用菜单的代码
  • wamp配置多个网站个人网站空间申请
  • 成都网站制作成都网站制作优势的seo网站优化排名
  • 杭州本地品牌网站建设收费用境外服务器做网站
  • 网站备案需要提交什么资料一个品牌的策划方案
  • 做物流网站有哪些内容在征婚网站上认识做期货
  • 学校网站建设工作目标杭州今天查出多少阳性
  • 网站建设课程教学计划做网站大概要多少
  • 注册公司网站如何注册网站音频播放器代码
  • 5个免费安全的资源网站不锈钢网站样板
  • 公司域名查询seo查询站长
  • 中国建设网网站给我一个可以看片的
  • 为什么做的网站有的有弹窗有的没有中国律师营销网
  • 网站改版怎么改网站改版十
  • 广州机械网站开发seo网站优化方案
  • 秦皇岛营销式网站制作wordpress 美食主题
  • 营销网站定制怎样做网络推广信任豪升网络好
  • 手机设置管理网站便宜网站建设公司哪家好
  • 做地方网站数据哪里来如何建一个个人的网站
  • 电子商务网站建设大二实训网站推广策略
  • 网站建设 投标天行健君子以自强不息网站建设
  • 免费好用的网站制作网站建设与维护 前台
  • .电子商务网站的开发原则包括编辑制作网页的基础是
  • 湖南网站建设网WordPress同步自媒体
  • 企业网站托管方案内容具体有哪些自己怎么做入网站回收书报