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

唐山诚达建设集团网站腾脉网建站

唐山诚达建设集团网站,腾脉网建站,云匠网订单多吗,珠海移动网站建设公司车牌字符识别技术#xff08;三#xff09;汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别#xff0c;汽车牌照中的汉字字符识别的难度更大#xff0c;主要原因有以下4个方面#xff1a; (1)字符笔画因切分误差导致非笔画或笔画流失。 (2… 车牌字符识别技术三汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别汽车牌照中的汉字字符识别的难度更大主要原因有以下4个方面 (1)字符笔画因切分误差导致非笔画或笔画流失。 (2)汽车牌照被污染导致字符上出现污垢。 (3)采集所得车辆图像分辨率低导致多笔画的汉字较难分辨。 (4)车辆图像采集时所受光照影响的差异导致笔画较淡。 综合汉字识别时的这些难点来看很难被直接提取的是字符的局部特征。笔画作为最重要的特征而仅存在于汉字中这由先验知识可知。一旦捺、横、竖、撇这些笔画特征被提取到对于汉字字符识别的工作就完成了许多。在水平方向上横笔画的灰度值的波动表现为低频竖笔画的灰度变化表现为低频在垂直方向上横笔画的灰度变化表现为高频竖笔画的灰度变化表现为高频。在汉字字符特征的提取过程中对于小波的多分辨率特性的利用显然是一个不错的选择。 对于汉字进识别的相关工作在一系列对图像进行预处理以及对图像的特征进行提取等相关操作后就可以进行了。第一步是预处理原始图像第二步是对字符的原始特征进行提取主要通过小波变换进行并降维处理原始特征主要采用线性判别式分析(LDA)变换矩阵进行获取字符的最终特征第三步是在特征模板匹配和最小距离分类器中读入获取所得到的最终特征得到字符的最终识别结果。 1.代码实例 中文车牌的识别包括新能源汽车 import cv2 as cv from PIL import Image import pytesseract as tessdef recoginse_text(image):步骤1、灰度二值化处理2、形态学操作去噪3、识别:param image::return:# 灰度 二值化gray cv.cvtColor(image,cv.COLOR_BGR2GRAY)# 如果是白底黑字 建议 _INVret,binary cv.threshold(gray,0,255,cv.THRESH_BINARY_INV| cv.THRESH_OTSU)# 形态学操作 (根据需要设置参数12)kernel cv.getStructuringElement(cv.MORPH_RECT,(1,2)) #去除横向细线morph1 cv.morphologyEx(binary,cv.MORPH_OPEN,kernel)kernel cv.getStructuringElement(cv.MORPH_RECT, (2, 1)) #去除纵向细线morph2 cv.morphologyEx(morph1,cv.MORPH_OPEN,kernel)cv.imshow(Morph,morph2)# 黑底白字取非变为白底黑字便于pytesseract 识别cv.bitwise_not(morph2,morph2)textImage Image.fromarray(morph2)# 图片转文字texttess.image_to_string(textImage)n10 #根据不同国家车牌固定数目进行设置print(识别结果:)print(text[1:n])def main():# 读取需要识别的数字字母图片并显示读到的原图src cv.imread(cp.jpg)cv.imshow(src,src)# 识别recoginse_text(src)cv.waitKey(0)cv.destroyAllWindows()if __name____main__:main() 2.遇到问题 No module named ‘pytesseract’ 缺少pytesseract 模块。 在环境中安装该模块 安装完成运行程序结果又出现了一堆问题 原因是没有安装pytesseract需要的Tesseract-OCR工具Windows版本的安装包的下载路径为https://github.com/UB-Mannheim/tesseract/wiki 直接双击该文件进行安装即可。这里的安装位置这个路径要记住后面要用采用默认值 C:\Program Files\Tesseract-OCR配置pytesseract.py打开“我的计算机”进入\Users\AppData\Local\Programs\Python\Python38\Lib\site-packages\pytesseract\找到pytesseract.py文件用文本编辑器打开这个文件找到tesseract_cmd关键字 至此字符识别开发环境准备好了下面就可以编写代码了。 代码实例 import cv2 as cv from PIL import Image import pytesseract as tessdef recoginse_text(image):步骤1、灰度二值化处理2、形态学操作去噪3、识别:param image::return:# 灰度 二值化gray cv.cvtColor(image,cv.COLOR_BGR2GRAY)# 如果是白底黑字 建议 _INVret,binary cv.threshold(gray,0,255,cv.THRESH_BINARY_INV| cv.THRESH_OTSU)# 形态学操作 (根据需要设置参数12)kernel cv.getStructuringElement(cv.MORPH_RECT,(1,2)) #去除横向细线morph1 cv.morphologyEx(binary,cv.MORPH_OPEN,kernel)kernel cv.getStructuringElement(cv.MORPH_RECT, (2, 1)) #去除纵向细线morph2 cv.morphologyEx(morph1,cv.MORPH_OPEN,kernel)cv.imshow(Morph,morph2)# 黑底白字取非变为白底黑字便于pytesseract 识别cv.bitwise_not(morph2,morph2)textImage Image.fromarray(morph2)# 图片转文字texttess.image_to_string(textImage)n10 #根据不同国家车牌固定数目进行设置print(识别结果:)print(text[1:n])def main():# 读取需要识别的数字字母图片并显示读到的原图src cv.imread(cp.jpg)cv.imshow(src,src)# 识别recoginse_text(src)cv.waitKey(0)cv.destroyAllWindows()if __name____main__:main() 3.汉字识别代码实例 代码实例 import tkinter as tk from tkinter.filedialog import * from tkinter import ttk import predict import cv2 from PIL import Image, ImageTk import threading import timeclass Surface(ttk.Frame):pic_path viewhigh 600viewwide 600update_time 0thread Nonethread_run Falsecamera Nonecolor_transform {green:(绿牌,#55FF55), yello:(黄牌,#FFFF00), blue:(蓝牌,#6666FF)}def __init__(self, win):ttk.Frame.__init__(self, win)frame_left ttk.Frame(self)frame_right1 ttk.Frame(self)frame_right2 ttk.Frame(self)win.title(车牌识别)win.state(zoomed)self.pack(filltk.BOTH, expandtk.YES, padx5, pady5)frame_left.pack(sideLEFT,expand1,fillBOTH)frame_right1.pack(sideTOP,expand1,filltk.Y)frame_right2.pack(sideRIGHT,expand0)ttk.Label(frame_left, text原图).pack(anchornw) ttk.Label(frame_right1, text车牌位置).grid(column0, row0, stickytk.W)from_pic_ctl ttk.Button(frame_right2, text来自图片, width20, commandself.from_pic)from_vedio_ctl ttk.Button(frame_right2, text来自摄像头, width20, commandself.from_vedio)self.image_ctl ttk.Label(frame_left)self.image_ctl.pack(anchornw)self.roi_ctl ttk.Label(frame_right1)self.roi_ctl.grid(column0, row1, stickytk.W)ttk.Label(frame_right1, text识别结果).grid(column0, row2, stickytk.W)self.r_ctl ttk.Label(frame_right1, text)self.r_ctl.grid(column0, row3, stickytk.W)self.color_ctl ttk.Label(frame_right1, text, width20)self.color_ctl.grid(column0, row4, stickytk.W)from_vedio_ctl.pack(anchorse, pady5)from_pic_ctl.pack(anchorse, pady5)self.predictor predict.CardPredictor()self.predictor.train_svm()def get_imgtk(self, img_bgr):img cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)im Image.fromarray(img)imgtk ImageTk.PhotoImage(imageim)wide imgtk.width()high imgtk.height()if wide self.viewwide or high self.viewhigh:wide_factor self.viewwide / widehigh_factor self.viewhigh / highfactor min(wide_factor, high_factor)wide int(wide * factor)if wide 0 : wide 1high int(high * factor)if high 0 : high 1imim.resize((wide, high), Image.ANTIALIAS)imgtk ImageTk.PhotoImage(imageim)return imgtkdef show_roi(self, r, roi, color):if r :roi cv2.cvtColor(roi, cv2.COLOR_BGR2RGB)roi Image.fromarray(roi)self.imgtk_roi ImageTk.PhotoImage(imageroi)self.roi_ctl.configure(imageself.imgtk_roi, stateenable)self.r_ctl.configure(textstr(r))self.update_time time.time()try:c self.color_transform[color]self.color_ctl.configure(textc[0], backgroundc[1], stateenable)except: self.color_ctl.configure(statedisabled)elif self.update_time 8 time.time():self.roi_ctl.configure(statedisabled)self.r_ctl.configure(text)self.color_ctl.configure(statedisabled)def from_vedio(self):if self.thread_run:returnif self.camera is None:self.camera cv2.VideoCapture(0)if not self.camera.isOpened():mBox.showwarning(警告, 摄像头打开失败)self.camera Nonereturnself.thread threading.Thread(targetself.vedio_thread, args(self,))self.thread.setDaemon(True)self.thread.start()self.thread_run Truedef from_pic(self):self.thread_run Falseself.pic_path askopenfilename(title选择识别图片, filetypes[(jpg图片, *.jpg)])if self.pic_path:img_bgr predict.imreadex(self.pic_path)self.imgtk self.get_imgtk(img_bgr)self.image_ctl.configure(imageself.imgtk)resize_rates (1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4)for resize_rate in resize_rates:print(resize_rate:, resize_rate)try:r, roi, color self.predictor.predict(img_bgr, resize_rate)except:continueif r:break#r, roi, color self.predictor.predict(img_bgr, 1)self.show_roi(r, roi, color)staticmethoddef vedio_thread(self):self.thread_run Truepredict_time time.time()while self.thread_run:_, img_bgr self.camera.read()self.imgtk self.get_imgtk(img_bgr)self.image_ctl.configure(imageself.imgtk)if time.time() - predict_time 2:r, roi, color self.predictor.predict(img_bgr)self.show_roi(r, roi, color)predict_time time.time()print(run end)def close_window():print(destroy)if surface.thread_run :surface.thread_run Falsesurface.thread.join(2.0)win.destroy()if __name__ __main__:wintk.Tk()surface Surface(win)win.protocol(WM_DELETE_WINDOW, close_window)win.mainloop() 输出结果
http://www.dnsts.com.cn/news/150442.html

相关文章:

  • 网站备案不能访问最近韩国电影片免费观看
  • 网站开发运行环境有哪些wordpress外链内链
  • wordpress 语法编辑器超级优化基因液
  • share poine 户做网站德国服务器网站
  • 显示佣金的网站是怎么做的是短视频迅猛发展的非常重要的因素
  • 找简历的网站资阳网站建设
  • 做网站的人会留下啥漏洞吗同一人做多个主体网站负责人
  • 导航网站没有内页没有了德州做网站建设的公司哪家好
  • 腾讯云快速搭建网站平阴网站建设
  • 商业设计网站推荐怎么做自建站
  • 中学网站建设方案 分校区六灶网站建设
  • 长春整站优化企业网站策划建设方案百度
  • 网站开发有什么用山东裕达建设工程咨询有限公司网站
  • 如何搜索网站的内容官方网站建设计划
  • 如何建设网站24小时接单外包网页制作页面多少钱一张
  • 大凤号 网站建设wordpress+更改数据库
  • 东莞网站制作有名 乐云践新长沙网站制作公司报价
  • 建设公寓租房信息网站网站怎么设置手机模板管理
  • 专业做包包的网站好低俗网站推广哪里找
  • 捷信做单官方网站中国建筑网官网查证
  • 商城网站建设哪个比较好百度关键词搜索量查询
  • 湖北企业模板建站开发六枝特区企业网络推广的方法
  • 做外贸有哪些网站比较好东莞市官网网站建设
  • 重庆网站设计网站提现功能怎么做
  • 定制网站建设广告开发个app的公司在哪
  • 楼书设计素材网站用网站名查询网址
  • 禁止网站采集网站制作交流论坛
  • 站长素材长沙优秀网站建设
  • 江西省飞宏建设工程有限公司 网站google浏览器下载
  • 免费做销售网站有哪些保定网站制作