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

网站的二级域名网站建设先进城市

网站的二级域名,网站建设先进城市,手机网页设计尺寸规范,鄂尔多斯网站建设目录 前言 一、三个函数 1.显示图像 2.点排序 3.透视变换 二、代码实例 1.打开摄像头 2.图像预处理 3.检测特定轮廓 4.对轮廓进行处理 5.释放资源 前言 摄像头OCR指的是利用摄像头捕捉图像中的文字信息#xff0c;并通过光学字符识别#xff08;OCR#xff09;技…目录 前言 一、三个函数 1.显示图像 2.点排序 3.透视变换 二、代码实例 1.打开摄像头 2.图像预处理 3.检测特定轮廓 4.对轮廓进行处理 5.释放资源 前言 摄像头OCR指的是利用摄像头捕捉图像中的文字信息并通过光学字符识别OCR技术将其转换为可编辑的文本。 一、三个函数 1.显示图像 def cv_show(name, img):cv2.imshow(name, img)cv2.waitKey(60)2.点排序 接收传入的坐标为轮廓的四个顶点 对每一行进行求和 最小值是该轮廓的左上角最大值是右下角对每一行进行求差 最小的是右上角最大的是右下角按照左上右上右下左下的顺序填入rect矩阵 def order_points(pts):# 共4个坐标点rect np.zeros((4, 2), dtypefloat32) # 用来存储排序之后的坐标位置# 按顺序找到对应坐标 0 1 2 3 分别是左上,右上,右下,左下s pts.sum(axis1) # 对pts矩阵的每一行进行求和操作。 (xy)rect[0] pts[np.argmin(s)]rect[2] pts[np.argmax(s)]diff np.diff(pts, axis1) # 对pts矩阵的每一行进行求差操作。(y-x)rect[1] pts[np.argmin(diff)]rect[3] pts[np.argmax(diff)]return rect3.透视变换 获取排序之后的点坐标计算该轮廓的宽和高的较大值当做变换之后的图像宽高通过cv2.getPerspectiveTransform方法计算透视变换矩阵再通过cv2.warpPerspective方法获取透视变换之后的图像 def four_point_transform(image, pts):# 获取输入坐标点rect order_points(pts)(tl, tr, br, bl) rect# 计算输入的w和h的值 欧式距离公式widthA np.sqrt(((br[0] - bl[0]) ** 2) ((br[1] - bl[1]) ** 2))widthB np.sqrt(((tr[0] - tl[0]) ** 2) ((tr[1] - tl[1]) ** 2))maxWidth max(int(widthA), int(widthB))heightA np.sqrt(((tr[0] - br[0]) ** 2) ((tr[1] - br[1]) ** 2))heightB np.sqrt(((tl[0] - bl[0]) ** 2) ((tl[1] - bl[1]) ** 2))maxHeight max(int(heightA), int(heightB))# 变换后对应坐标位置dst np.array([[0, 0], [maxWidth - 1, 0],[maxWidth - 1, maxHeight - 1], [0, maxHeight - 1]], dtypefloat32)# 计算透视变换矩阵M cv2.getPerspectiveTransform(rect, dst)# 应用透视变换warped cv2.warpPerspective(image, M, (maxWidth, maxHeight)) # 返回变换后结果return warped二、代码实例 1.打开摄像头 参数为0 则用电脑自带摄像头参数为1 则用外接摄像头若摄像头未被打开则输出Cannot open camera cap cv2.VideoCapture(0) # 确保摄像头是可以启动的状态 电脑自带摄像头用0 外接的用1 if not cap.isOpened():print(Cannot open camera)exit() 2.图像预处理 打开摄像头之后读取每一帧的画面并显示转换成灰度图进行高斯滤波处理然后使用Canny算子进行边缘检测并显示再对边缘检测之后的图像进行轮廓检测只取轮廓大小前十的轮廓将其画出来并显示 while True:flag 0 # 标识符 当前是否检测到文档ret, image cap.read()orig image.copy()if not ret:print(不能读取摄像头)breakcv_show(image, image)gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray cv2.GaussianBlur(gray, (5, 5), 0)edged cv2.Canny(gray, 75, 200)cv_show(1, edged)cnts cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]cnts sorted(cnts, keycv2.contourArea, reverseTrue)[:10]image_contours cv2.drawContours(image, cnts, -1, (0, 255, 0), 2)cv_show(image_contours, image_contours) 输出 3.检测特定轮廓 遍历上述获取的轮廓 对轮廓进行近似处理并获取其特征点集判断轮廓面积大于20000 并且特征点集只有4个 for c in cnts:peri cv2.arcLength(c, True) # 计算轮廓的周长# True表示是否选择封闭轮廓approx cv2.approxPolyDP(c, 0.05 * peri, True) # 返回轮廓点集area cv2.contourArea(approx)if area 20000 and len(approx) 4:screenCnt approxflag 1print(peri, area)print(检测到文档)break 4.对轮廓进行处理 如果在画面中获取到了符合条件的轮廓就在原图上画出该轮廓并将该轮廓图像进行透视变换并显示最后对其进行二值化处理并显示 if flag 1:image_contours cv2.drawContours(image, [screenCnt], 0, (0, 255, 0), 2)cv_show(image, image_contours)warped four_point_transform(orig, screenCnt.reshape(4, 2))cv_show(warped, warped)warped cv2.cvtColor(warped, cv2.COLOR_BGR2GRAY)ref cv2.threshold(warped, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]cv2.imshow(ref, ref)cv2.waitKey(0) 输出5.释放资源 最后循环结束之后记得释放资源 cap.release() # 释放捕获器 cv2.destroyAllWindows() # 关闭图像窗口
http://www.w-s-a.com/news/633838/

相关文章:

  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板
  • 给企业建设网站的流程图wordpress 添加子菜单
  • 企业网站带新闻发布功能的建站皋兰县建设局网站
  • 国内外做gif的网站wordpress数据库教程
  • 成都建站平台自己做一个网站需要多少钱
  • 景区旅游网站平台建设公司企业网站源码
  • 免费高清网站推荐喂来苏州网络科技有限公司
  • php做的大型网站有哪些备案博客域名做视频网站会怎么样
  • 去哪网站备案吗昭通网站建设
  • flash企业网站源码建筑材料采购网站
  • 网站可以换虚拟主机吗部门做网站优点
  • 如何做分类网站信息营销莱芜网页定制
  • 班级网站建设感想中国做视频网站有哪些
  • 做刷票的网站wordpress图片链接插件
  • 给客户做网站图片侵权沈阳做网站的地方
  • 网站开发步骤规划蓝天云免费空间主机
  • 网站字体规范wordpress找不到页面内容编辑