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

官网的网站建设兼职做美工摄影去哪个网站

官网的网站建设,兼职做美工摄影去哪个网站,怎么查看网站哪个公司做的,新增域名网站建设方案0 前言 #x1f525; 优质竞赛项目系列#xff0c;今天要分享的是 基于机器视觉的身份证识别系统 该项目较为新颖#xff0c;适合作为竞赛课题方向#xff0c;学长非常推荐#xff01; #x1f9ff; 更多资料, 项目分享#xff1a; https://gitee.com/dancheng-sen…0 前言 优质竞赛项目系列今天要分享的是 基于机器视觉的身份证识别系统 该项目较为新颖适合作为竞赛课题方向学长非常推荐 更多资料, 项目分享 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.pierceye.com/news/78672/

相关文章:

  • 怎么做切片网站工会网站建设可以
  • 大连百姓网免费发布信息网站网站导航常用关键字
  • 做付费网站好织梦网站模板制作
  • 茶叶公司网站模板政务网站建设云计算中心
  • 电子商务网站策划书模板爱奇艺会员做任务送十天网站
  • 阜阳网站制作公司报价1.电子商务网站建设的核心是( )
  • 网店平台网站建设需求建立的英语
  • 深圳整站seo上海市浦东新区建设工程安全质量监督站网站
  • 有了域名后怎么做网站网站建设西安
  • 查看网站是否做百度推广wordpress循环标签
  • 北京做网站哪家好wordpress 数据站
  • 企业网站营销推广方案做网站需要先搞目录么
  • 网站 侧边栏公司集团网站建设
  • 网站打开不了怎样做妇女儿童心理咨询网站建设
  • 天津网站建设服务公司曲阜市政对过做网站的是那家
  • 网站代运营多少钱孝感网站建设 付款方式 银行
  • 个人做网站有什么用番禺区怎么做网站建设
  • 公司网站建设有什么好处wordpress在线安装地址
  • 免费制作封面的网站建湖做网站找哪家好
  • 长沙装修网站排名链接
  • 学校网站要求discuz网站搬家教程
  • 怎样做个网站网站pv怎么统计
  • 中文版网站建设费用百度学术论文查重官网
  • 杭州酒店网站建设无锡网站开发培训
  • 中国十大网站建设公司苏州网站建设公司哪家好
  • 公众号免费模板网站南昌自动seo
  • 涉县网站开发建设三轮摩托车官方网站
  • 东莞销售网站设计网络营销课程自学
  • 河南建设网站公司哪家好找南昌网站开发公司电话
  • 教育门户网站建设新媒体运营基础知识