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

离莞来莞最新政策seo公司多少钱

离莞来莞最新政策,seo公司多少钱,中国足球世界排名,wordpress rss 爬文章目录 0 前言1 实现方法1.1 原理1.1.1 字符定位1.1.2 字符识别1.1.3 深度学习算法介绍1.1.4 模型选择 2 算法流程3 部分关键代码 4 效果展示5 最后 0 前言 #x1f525; 优质竞赛项目系列#xff0c;今天要分享的是 #x1f6a9; 毕业设计 图像识别 深度学习 身份证识别… 文章目录 0 前言1 实现方法1.1 原理1.1.1 字符定位1.1.2 字符识别1.1.3 深度学习算法介绍1.1.4 模型选择 2 算法流程3 部分关键代码 4 效果展示5 最后 0 前言 优质竞赛项目系列今天要分享的是 毕业设计 图像识别 深度学习 身份证识别系统 该项目较为新颖适合作为竞赛课题方向学长非常推荐 学长这里给一个题目综合评分(每项满分5分) 难度系数3分工作量3分创新点4分 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate 1 实现方法 1.1 原理 1.1.1 字符定位 在Android移动端摄像头拍摄的图片是彩色图像上传到服务器后为了读取到身份证上的主要信息就要去除其他无关的元素因此对身份证图像取得它的灰度图并得到二值化图。 对身份证图像的的二值化有利于对图像内的信息的进一步处理可以将待识别的信息更加突出。在OpenCV中提供了读入图像接口函数imread, 首先通过imread将身份证图像读入内存中 ​ id_card_img cv2.imread(path_img)之后再调用转化为灰度图的接口函数cvtColor并给它传入参数COLOR_BGR2GRAY,它就可以实现彩色图到灰度图的转换代码如下 ​ gray_id_card_img cv2.cvtColor(color_img, cv2.COLOR_BGR2GRAY) preprocess_bg_mask PreprocessBackgroundMask(boundary)转化为二值化的灰度图后图像如图所示 转换成灰度图之后要进行字符定位通过每一行进行垂直投影就可以找到所有字段的位置具体如下 然后根据像素点起始位置确定字符区域然后将字符区域一一对应放入存放字符的列表中 ​ vertical_peek_ranges extract_peek_ranges_from_array(vertical_sum,minimun_val40,minimun_range1)vertical_peek_ranges2d.append(vertical_peek_ranges)最后的效果图如图所示 1.1.2 字符识别 身份证识别中最重要的是能够识别身份证图像中的中文文字(包括数字和英文字母)这里学长采用深度学习的方式来做 1身份证图像涉及个人隐私很难获取其数据训练集。针对此问题我采用获取身份证上印刷体汉字和数字的数据训练集的方法利用Python图像库PIL将13类汉字印刷体字体转换成6492个类别建立了较大的字符训练集 2如何获取身份证图片上的字符是在设计中一个重要问题。我采用水平和垂直投影技术首先对身份证图像进行预处理然后对图片在水平和垂直方向上像素求和区分字符与空白区域完成了身份证图像中字符定位与分割工作有很好的切分效果 3在模型训练中模型的选择与设计是一个重要的环节本文选择Lenet模型发现模型层次太浅然后增加卷积层和池化层设计出了改进的深层Lenet模型然后采用Caffe深度学习工具对模型进行训练并在训练好的模型上进行测试实验表明模型的测试精度达到96.2%。 1.1.3 深度学习算法介绍 深度学习技术被提出后发展迅速在人工智能领域取得了很好的成绩越来越多优秀的神经网络也应运而生。深度学习通过建立多个隐层的深层次网络结构比如卷积神经网络可以用来研究并处理目前计算机视觉领域的一些热门的问题如图像识别和图像检索。 深度学习建立从输入数据层到高层输出层语义的映射关系免去了人工提取特征的步骤建立了类似人脑神经网的分层模型结构。深度学习的示意图如图所示 1.1.4 模型选择 在进行网络训练前另一项关键的任务是模型的选择与配置因为要保证模型的精度要选一个适合本文身份证信息识别的网络模型。 ​ 首先因为汉字识别相当于一个类别很多的图片分类系统所以先考虑深层的网络模型优先采用Alexnet网络模型对于汉字识别这种千分类的问题很合适但是在具体实施时发现本文获取到的数据训练集每张图片都是6464大小的一通道的灰度图而Alexnet的输入规格是224224三通道的RGB图像在输入上不匹配并且Alexnet在处理像素较高的图片时效果好用在本文的训练中显然不合适。 其次是Lenet模型没有改进的Lenet是一个浅层网络模型如今利用这个模型对手写数字识别精度达到99%以上效果很好在实验时我利用在Caffe下的draw_net.py脚本并且用到pydot库来绘制Lenet的网络模型图实验中绘制的原始Lenet网络模型图如图所示图中有两个卷积层和两个池化层网络层次比较浅。 2 算法流程 3 部分关键代码 ​ cv2_color_img cv2.imread(test_image)##放大图片resize_keep_ratio PreprocessResizeKeepRatio(1024, 1024)cv2_color_img resize_keep_ratio.do(cv2_color_img) ##转换成灰度图cv2_img cv2.cvtColor(cv2_color_img, cv2.COLOR_RGB2GRAY)height, width cv2_img.shape##二值化 调整自适应阈值 使得图像的像素值更单一、图像更简单adaptive_threshold cv2.adaptiveThreshold(cv2_img, ##原始图像255, ##像素值上限cv2.ADAPTIVE_THRESH_GAUSSIAN_C, ##指定自适应方法Adaptive Method这里表示领域内像素点加权和cv2.THRESH_BINARY, ##赋值方法二值化11, ## 规定领域大小一个正方形的领域2) ## 常数C阈值等于均值或者加权值减去这个常数adaptive_threshold 255 - adaptive_threshold## 水平方向求和找到行间隙和字符所在行numpyhorizontal_sum np.sum(adaptive_threshold, axis1)## 根据求和结果获取字符行范围peek_ranges extract_peek_ranges_from_array(horizontal_sum)vertical_peek_ranges2d []for peek_range in peek_ranges:start_y peek_range[0] ##起始位置end_y peek_range[1] ##结束位置line_img adaptive_threshold[start_y:end_y, :]## 垂直方向求和分割每一行的每个字符vertical_sum np.sum(line_img, axis0)## 根据求和结果获取字符行范围vertical_peek_ranges extract_peek_ranges_from_array(vertical_sum,minimun_val40, ## 设最小和为40minimun_range1) ## 字符最小范围为1## 开始切割字符vertical_peek_ranges median_split_ranges(vertical_peek_ranges)## 存放入数组中vertical_peek_ranges2d.append(vertical_peek_ranges)## 去除噪音主要排除杂质小的曝光点不是字符的部分filtered_vertical_peek_ranges2d []for i, peek_range in enumerate(peek_ranges):new_peek_range []median_w compute_median_w_from_ranges(vertical_peek_ranges2d[i])for vertical_range in vertical_peek_ranges2d[i]:## 选取水平区域内的字符当字符与字符间的间距大于0.7倍的median_w说明是字符if vertical_range[1] - vertical_range[0] median_w*0.7:new_peek_range.append(vertical_range)filtered_vertical_peek_ranges2d.append(new_peek_range)vertical_peek_ranges2d filtered_vertical_peek_ranges2dchar_imgs []crop_zeros PreprocessCropZeros()resize_keep_ratio PreprocessResizeKeepRatioFillBG(norm_width, norm_height, fill_bgFalse, margin4)for i, peek_range in enumerate(peek_ranges):for vertical_range in vertical_peek_ranges2d[i]:## 划定字符的上下左右边界区域x vertical_range[0]y peek_range[0]w vertical_range[1] - xh peek_range[1] - y## 生成二值化图char_img adaptive_threshold[y:yh1, x:xw1]## 输出二值化图char_img crop_zeros.do(char_img)char_img resize_keep_ratio.do(char_img)## 加入字符图片列表中char_imgs.append(char_img)## 将列表转换为数组np_char_imgs np.asarray(char_imgs)## 放入模型中识别并返回结果output_tag_to_max_proba caffe_cls.predict_cv2_imgs(np_char_imgs)ocr_res ## 读取结果并展示for item in output_tag_to_max_proba:ocr_res item[0][0]print(ocr_res.encode(utf-8))## 生成一些Debug过程产生的图片if debug_dir is not None:path_adaptive_threshold os.path.join(debug_dir,adaptive_threshold.jpg)cv2.imwrite(path_adaptive_threshold, adaptive_threshold)seg_adaptive_threshold cv2_color_img# color (255, 0, 0)# for rect in rects:# x, y, w, h rect# pt1 (x, y)# pt2 (x w, y h)# cv2.rectangle(seg_adaptive_threshold, pt1, pt2, color)color (0, 255, 0)for i, peek_range in enumerate(peek_ranges):for vertical_range in vertical_peek_ranges2d[i]:x vertical_range[0]y peek_range[0]w vertical_range[1] - xh peek_range[1] - ypt1 (x, y)pt2 (x w, y h)cv2.rectangle(seg_adaptive_threshold, pt1, pt2, color)path_seg_adaptive_threshold os.path.join(debug_dir,seg_adaptive_threshold.jpg)cv2.imwrite(path_seg_adaptive_threshold, seg_adaptive_threshold)debug_dir_chars os.path.join(debug_dir, chars)os.makedirs(debug_dir_chars)for i, char_img in enumerate(char_imgs):path_char os.path.join(debug_dir_chars, %d.jpg % i)cv2.imwrite(path_char, char_img) 4 效果展示 5 最后 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate
http://www.hkea.cn/news/14262242/

相关文章:

  • 徐州网站建站阿里云服务器12元一年
  • 呼和浩特网站建设信息网站制作留钱
  • 大型的网站开发益阳住房和城乡建设局网站
  • 即墨网站制作wordpress如何设置中英文切换
  • app设计风格济南网站建设与优化
  • 网站开发实训总结优化网站制作方法大全
  • wap 企业网站苏州网站建设推广
  • 百度开户需要什么条件福州seo
  • 中山外贸网站建设公司中小微企业和个体工商户
  • 建设局网站安徽广西教育学会 网站建设
  • 网站建设对接流程程序员如何自学
  • 网站改版 翻译谷歌seo快速排名优化方法
  • 营销型网站建设要求网站开发公司小程序开发
  • 三亚市建设局官方网站做行程好的网站
  • 网络网站制作技巧亳州做网站
  • 深圳网站搭建该如何与网站设计公司沟通
  • 镇江有哪些网站免费logo在线制作平台
  • godday网站建设网络运维和网站开发哪个好
  • 康乐县网站建设什么专业可以做网站
  • 有哪些平面设计网站2022世界500强企业排名
  • 如何给网站添加音乐wordpress授权登录
  • 非寻服饰网站建设规划书vs2015 asp网站开发
  • 顺义便宜的建站公司中小企业融资现状
  • 个人网站建设制作如何做网站的推广
  • 景安一个空间怎么做多个网站泰安市网站建设公司
  • 网站开发流程图 最系统的网站建设教程
  • 有趣的网站有哪些浏览器2345网址导航下载安装
  • 做家装的网站有什么推广图片制作
  • 北京做兼职哪个网站有深度网站
  • 投资项目网站建设方案上海物流公司网站建设