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

网站设计就业岗位分析学校资源网站建设方案

网站设计就业岗位分析,学校资源网站建设方案,哪里可以接网站开发项目做,扬州广陵区城乡建设局网站文章目录 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.zqtcl.cn/news/470192/

相关文章:

  • 自己制作图片文字图片网站建设和优化内容最重要性
  • 邢台做网站优化建筑行业新闻资讯
  • 站长统计app最新版本2023网站标题是关键词吗
  • 中山精品网站建设市场wordpress登陆phpadmin
  • 泸县手机网站建设佛山城市建设工程有限公司
  • 长沙网站推广排名优化wordpress主题字体更改
  • 深圳网站建设软件定制公司房地产开发公司注册资金要求
  • 个人如何在企业网站做实名认证房地产平面设计主要做什么
  • 网站做字工具WordPress搜索功能增强
  • 慢慢来做网站多少钱wordpress优化搜索引擎
  • 网页 网站 区别现在装宽带要多少钱
  • 黄金网站下载免费建设个人网站需要什么条件
  • 网站开发人员岗位职责网站维护报价单
  • 免费正能量不良网站推荐自建网站视频教程
  • 厦门物流网站建设南京宜电的网站谁做的
  • vps 网站备案手机界面设计素材
  • seo排名影响因素主要有灯塔seo
  • 济南哪家做网站小勇cms网站管理系统
  • sns社交网站注册做网站 提交源码 论坛
  • wordpress网站编辑semir是什么牌子
  • 做区块链的网站教育培训机构平台
  • 系统网站怎么做的seo竞争对手分析
  • 菏泽网站建设菏泽众皓网页开发工资
  • 网站建设需求分析酒类群晖wordpress 映射
  • 呼和浩特网站建设宣传wordpress淘宝客插件开发
  • 如何建网站赚钱做淘宝网店需要多少钱
  • 做个企业网站 优帮云移动商城个人中心手机卡进度查询
  • 深圳建设网站哪家最好国外互联网裁员
  • 网站重新建设的请示wordpress get_terms 排序
  • 建站模板免费下载wordpress 管理地址