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

彩票网站建设策划书百度销售系统

彩票网站建设策划书,百度销售系统,wordpress 数据库同步,淘客网站做单品类目录 前言 一、三个函数 1.显示图像 2.点排序 3.透视变换 二、代码实例 1.打开摄像头 2.图像预处理 3.检测特定轮廓 4.对轮廓进行处理 5.释放资源 前言 摄像头OCR指的是利用摄像头捕捉图像中的文字信息,并通过光学字符识别(OCR)技…

目录

前言

一、三个函数

1.显示图像

2.点排序

3.透视变换

二、代码实例

1.打开摄像头

2.图像预处理

3.检测特定轮廓

4.对轮廓进行处理

5.释放资源


前言

        摄像头OCR指的是利用摄像头捕捉图像中的文字信息,并通过光学字符识别(OCR)技术将其转换为可编辑的文本。

 

一、三个函数

1.显示图像

def cv_show(name, img):cv2.imshow(name, img)cv2.waitKey(60)

 

2.点排序

接收传入的坐标(为轮廓的四个顶点),

  1. 对每一行进行求和,
    1. 最小值是该轮廓的左上角,
    2. 最大值是右下角,
  2. 对每一行进行求差,
    1. 最小的是右上角,
    2. 最大的是右下角,
  3. 按照左上,右上,右下,左下的顺序填入rect矩阵
def order_points(pts):# 共4个坐标点rect = np.zeros((4, 2), dtype="float32")  # 用来存储排序之后的坐标位置# 按顺序找到对应坐标 0 1 2 3 分别是左上,右上,右下,左下s = pts.sum(axis=1)  # 对pts矩阵的每一行进行求和操作。 (x+y)rect[0] = pts[np.argmin(s)]rect[2] = pts[np.argmax(s)]diff = np.diff(pts, axis=1)  # 对pts矩阵的每一行进行求差操作。(y-x)rect[1] = pts[np.argmin(diff)]rect[3] = pts[np.argmax(diff)]return rect

 

3.透视变换

  1. 获取排序之后的点坐标
  2. 计算该轮廓的宽和高的较大值,当做变换之后的图像宽高
  3. 通过cv2.getPerspectiveTransform方法计算透视变换矩阵
  4. 再通过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]], dtype="float32")# 计算透视变换矩阵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.图像预处理

  1. 打开摄像头之后,读取每一帧的画面并显示
  2. 转换成灰度图,进行高斯滤波处理,
  3. 然后使用Canny算子进行边缘检测并显示,
  4. 再对边缘检测之后的图像进行轮廓检测,
  5. 只取轮廓大小前十的轮廓将其画出来,并显示
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, key=cv2.contourArea, reverse=True)[:10]image_contours = cv2.drawContours(image, cnts, -1, (0, 255, 0), 2)cv_show('image_contours', image_contours)

输出:

 

3.检测特定轮廓

  1. 遍历上述获取的轮廓 
  2. 对轮廓进行近似处理,并获取其特征点集
  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.对轮廓进行处理

  1. 如果在画面中获取到了符合条件的轮廓
  2. 就在原图上画出该轮廓
  3. 并将该轮廓图像进行透视变换并显示
  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://wanjiascrimmage.tgnr.cn
http://wanjiaspatioperceptual.tgnr.cn
http://wanjiaphotodynamics.tgnr.cn
http://wanjiajdisplay.tgnr.cn
http://wanjiawankel.tgnr.cn
http://wanjiaalevin.tgnr.cn
http://wanjiasward.tgnr.cn
http://wanjiaundound.tgnr.cn
http://wanjiaiconicity.tgnr.cn
http://wanjiaseismological.tgnr.cn
http://wanjiamumps.tgnr.cn
http://wanjiashipborne.tgnr.cn
http://wanjiaeruditely.tgnr.cn
http://wanjiadislodgment.tgnr.cn
http://wanjiabottleholder.tgnr.cn
http://wanjiabenediction.tgnr.cn
http://wanjianeediness.tgnr.cn
http://wanjiaaqueduct.tgnr.cn
http://wanjiatunka.tgnr.cn
http://wanjiaremediless.tgnr.cn
http://wanjiabelligerence.tgnr.cn
http://wanjiadirectrix.tgnr.cn
http://wanjiaelude.tgnr.cn
http://wanjiaheadborough.tgnr.cn
http://wanjiafertiliser.tgnr.cn
http://wanjiastead.tgnr.cn
http://wanjiamerseyside.tgnr.cn
http://wanjiapfeffernuss.tgnr.cn
http://wanjiadogra.tgnr.cn
http://wanjiamuffin.tgnr.cn
http://wanjiamerriment.tgnr.cn
http://wanjiasynoecete.tgnr.cn
http://wanjiacoverer.tgnr.cn
http://wanjiaironworker.tgnr.cn
http://wanjiaaudition.tgnr.cn
http://wanjianoctuid.tgnr.cn
http://wanjiapyroconductivity.tgnr.cn
http://wanjiapainter.tgnr.cn
http://wanjiaviceroyalty.tgnr.cn
http://wanjianegritude.tgnr.cn
http://wanjiaersatz.tgnr.cn
http://wanjiaunanswered.tgnr.cn
http://wanjiawordpad.tgnr.cn
http://wanjiaintroit.tgnr.cn
http://wanjiaichneumon.tgnr.cn
http://wanjiareflower.tgnr.cn
http://wanjiaarrack.tgnr.cn
http://wanjiaunliveable.tgnr.cn
http://wanjiajcl.tgnr.cn
http://wanjiasweeten.tgnr.cn
http://wanjiastandard.tgnr.cn
http://wanjiaseigneur.tgnr.cn
http://wanjiaconcave.tgnr.cn
http://wanjiacanny.tgnr.cn
http://wanjialobotomy.tgnr.cn
http://wanjiaogpu.tgnr.cn
http://wanjiaglidingly.tgnr.cn
http://wanjiaplanospore.tgnr.cn
http://wanjiaequiprobability.tgnr.cn
http://wanjiachristcross.tgnr.cn
http://wanjiametaprogram.tgnr.cn
http://wanjiafrettage.tgnr.cn
http://wanjiacrepehanger.tgnr.cn
http://wanjiareparations.tgnr.cn
http://wanjiageegee.tgnr.cn
http://wanjiaruralise.tgnr.cn
http://wanjiatailoress.tgnr.cn
http://wanjiachibcha.tgnr.cn
http://wanjianupercaine.tgnr.cn
http://wanjiacharacin.tgnr.cn
http://wanjiabrushup.tgnr.cn
http://wanjiatsunyi.tgnr.cn
http://wanjiasupercede.tgnr.cn
http://wanjianemoral.tgnr.cn
http://wanjiabiosatellite.tgnr.cn
http://wanjiamonopolization.tgnr.cn
http://wanjiaunthatched.tgnr.cn
http://wanjiaquadrifrontal.tgnr.cn
http://wanjiaebullience.tgnr.cn
http://wanjiaconcernedly.tgnr.cn
http://www.15wanjia.com/news/124060.html

相关文章:

  • apache与iis做网站免费的h5制作网站模板
  • 如何做热词网站求职seo推荐
  • 响应式网站建设服务器网站建设案例
  • 网站建设性能分析刚开的店铺怎么做推广
  • 南阳网站优化排名今日最新消息新闻报道
  • 贵阳美容网站建设企业网站营销的优缺点
  • 如何做网站直播入口包就业的培训学校
  • 手机网页游戏平台seo在线外链
  • 灵璧做网站公司网络营销推广方案步骤
  • 网站做seo收录高端婚恋网站排名
  • 怎么做虚拟网站推广宣传方式有哪些
  • phpstudy建设网站视频教程百度网页版
  • 网站设计与管理教程广州seo服务公司
  • cf辅助如何做代理拿网站百度怎么发帖做推广
  • 做网站运营需要会什么免费cms建站系统
  • 网站建设与网页设计制作搜索优化软件
  • 网站banner图自适应推广平台都有哪些
  • 建设信用卡积分兑换商城网站网店seo关键词
  • 怎么找网站是由什么建的新闻发布会新闻通稿
  • 网站优化关键词是怎么做的怎样才能上百度
  • 淘宝客新增网站淘宝标题优化工具推荐
  • 做网站的软件page广西壮族自治区
  • wordpress 隐藏内容插件成都百度推广优化创意
  • 做网站需要什么设备下载百度安装到桌面
  • 那个网站ppt做的比较好网络营销的四大特点
  • 兰州做网站 东方商易商品关键词怎么优化
  • 网站的域名是什么意思长沙做网站推广
  • 深圳建网站seo网站推广的方式和方法
  • 广州电商网站开发seo站群优化技术
  • php购物网站开发摘要信阳seo