1 #-*- coding: utf-8 -*-

2 """

3 Created on Tue Sep 17 19:00:45 20194

5 @author: xxr6 """

7 from cv2 import cv2 #因为cv2里面还有cv2 所以要这样干!

8 importnumpy as np9

10 #读取原始图片

11 image= cv2.imread('shuibiao.jpg')12

13 #读入一张白色的图

14 image2=cv2.imread('white.png')15 image3=image216

17 #图片的缩小,记住比例 的缩放

18 r = 500.0 / image.shape[1]19 dim = (500, int(image.shape[0] *r))20 image = cv2.resize(image, dim, interpolation =cv2.INTER_AREA)21 image2=cv2.resize(image2, dim, interpolation =cv2.INTER_AREA)22

23 #图像灰度化处理

24 grayImage =cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)25 #基于Canny的边沿检测(生成的也是二值图)

26 canny=cv2.Canny(grayImage,30,180)27 #cv2.imshow("canny_image",canny)

28 #再canny处理图像以后 用hough直线检测

29 #统计概率霍夫线变换

30

31

32 #步长 阈值 最小直线长度 最大构成直线的点的间隔

33 lines = cv2.HoughLinesP(canny, 1, np.pi / 180, 60, minLineLength=30, maxLineGap=8)34 for line inlines:35 x1, y1, x2, y2 =line[0]36 cv2.line(image2, (x1, y1), (x2, y2), (0, 0, 255), 1)37

38

39

40 #这里进行矩形的轮廓检测 !!!应该找 白色的矩形框

41 image2 =cv2.cvtColor(image2,cv2.COLOR_BGR2GRAY)42 #黑白颜色颠倒

43 height, width =image2.shape44 dst = np.zeros((height,width,1), np.uint8)45 for i inrange(0, height):46 for j inrange(0, width):47 grayPixel =image2[i, j]48 dst[i, j] = 255-grayPixel49

50

51 #高斯滤波(使图像模糊,平滑)

52 #dst=cv2.GaussianBlur(dst,(7,7),0)

53

54 cv2.imshow('dst', dst)55 contours, hierarchy =cv2.findContours(dst,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_SIMPLE)56

57 ##绘制直线

58 #max=0

59 #max_i=0

60 #print(len(contours[2]))

61 #for i in range(len(contours)):

62 #if(5==len(contours[i])):

63 #max_i=i

64 #cv2.drawContours(image3,contours,-1,(0,255,255),3)

65 #cv2.imshow("draw_img0", image3)

66

67 ##绘制矩形

68 #for i in range(0,len(contours)):

69 #x, y, w, h = cv2.boundingRect(contours[i])

70 #cv2.rectangle(image3, (x,y), (x+w,y+h), (153,153,0), 5)

71 #cv2.imshow("draw_img0", image3)

72

73 #打印矩形

74 #for i in range(0,len(contours)):

75 #x, y, w, h = cv2.boundingRect(contours[i])

76 #print(contours[0])

77 #cv2.rectangle(image3, (x,y), (x+w,y+h), (255,153,0), 5)

78

79 #标准霍夫线变换(但在这里不太实用)

80 #lines = cv2.HoughLines(canny, 1, np.pi/180, 150)

81 #for line in lines:

82 #rho, theta = line[0] #line[0]存储的是点到直线的极径和极角,其中极角是弧度表示的。

83 #a = np.cos(theta) #theta是弧度

84 #b = np.sin(theta)

85 #x0 = a * rho #代表x = r * cos(theta)

86 #y0 = b * rho #代表y = r * sin(theta)

87 #x1 = int(x0 + 1000 * (-b)) #计算直线起点横坐标

88 #y1 = int(y0 + 1000 * a) #计算起始起点纵坐标

89 #x2 = int(x0 - 1000 * (-b)) #计算直线终点横坐标

90 #y2 = int(y0 - 1000 * a) #计算直线终点纵坐标 注:这里的数值1000给出了画出的线段长度范围大小,数值越小,画出的线段越短,数值越大,画出的线段越长

91 #cv2.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2) #点的坐标必须是元组,不能是列表。

92 #cv2.imshow("image-lines", image)

93

94 #二值化图片

95 ##自适应阈值化能够根据图像不同区域亮度分布,改变阈值

96 ##threshold_pic = cv2.adaptiveThreshold(grayImage, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY, 25, 10)

97 #ret,threshold_pic=cv2.threshold(grayImage,127, 255, cv2.THRESH_BINARY)

98 #cv2.imshow("threshold_image",threshold_pic)

99 #等待显示(不添加这两行将会报错)

100 cv2.waitKey(0)101 cv2.destroyAllWindows()

python 指针表识别 opencv_python+opencv水表识别相关推荐

  1. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

  2. opencv颜色识别java,Opencv颜色识别与追踪

    //---------------------------------[头文件.命名空间包含部分]----------------------------//描述:包含程序所使用的头文件和命名空间// ...

  3. python人脸识别opencv_Python与OpenCV实时人脸识别

    刚刚开始使用Python写OpenCV的东西,发现关于使用Python写OpenCV的还是比较少的,先整了一个人脸识别的最简单实例,与大家共享! 环境:Python 2.7.4.OpenCV 2.4. ...

  4. 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符.英文字母.阿 ...

  5. 【OpenCV图像处理入门学习教程六】基于Python的网络爬虫与OpenCV扩展库中的人脸识别算法比较

    OpenCV图像处理入门学习教程系列,上一篇第五篇:基于背景差分法的视频目标运动侦测 一.网络爬虫简介(Python3) 网络爬虫,大家应该不陌生了.接下来援引一些Jack-Cui在专栏<Pyt ...

  6. Python+OpenCV人脸识别签到考勤系统(新手入门)

    Python+OpenCV人脸识别签到考勤系统(新手入门) 前言 项目效果图 项目需要的环境 编译器 辅助开发QT-designer 项目配置 代码部分 核心代码 项目目录结构 后记 正式版改进 项目 ...

  7. python opencv人脸识别考勤系统的完整源码

    这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值. 代码如下: import wx import wx.g ...

  8. Python+Tensorflow+Opencv人脸识别(任意数量人脸)

    Python+Tensorflow+Opencv的人脸识别 简单的人脸识别 准备工作 开始--先获取必要的人脸图像 训练--分类吧 识别大脸 简单的人脸识别 一直想做机器学习的东东,最近由于工作的调整 ...

  9. 人脸识别系统OpenCV+dlib+python(含数据库)Pyqt5界面设计 项目源码 毕业设计

    一.项目主要技术 Python语言.dlib.OpenCV.Pyqt5界面设计.sqlite3数据库 本系统使用dlib作为人脸识别工具,dlib提供一个方法可将人脸图片数据映射到128维度的空间向量 ...

最新文章

  1. Arm 十年重磅发布 v9 架构,不受 EAR 约束,未来将覆盖 3000 亿颗芯片
  2. efcore多表查询出错_如何提高sql查询的效率?
  3. LeetCode Find Minimum in Rotated Sorted Array II
  4. C语言经典例69-有n个人围成一圈报数问题
  5. matlab程序求一个正交的相似变换矩阵,图像的等距变换,相似变换,仿射变换,射影变换及其matlab实现...
  6. 易语言 mysql 卡死_易语言操作MYsql 所有课程停发
  7. 基于 Flink+Iceberg 构建企业级实时数据湖 | 附 PPT 下载
  8. webstorm中配置svn
  9. 在JDK 12精简数字格式中使用最小分数数字
  10. centos65编译安装lamp和lnmp
  11. jQuery 为动态添加的元素绑定事件
  12. 急救模式下安装rpm包
  13. 抓包分析arp攻击Linux,从抓包分析角度分析arp攻击
  14. 如何在MATLAB中定义一些全局常量
  15. base64 能放数组里面么_手把手教你Vue解析pdf(base64)转图片【实践】
  16. 3分钟快速了解,如何一次通过CISSP考试?
  17. python和r哪个实用_R和Python谁更好?
  18. Word文档图标变成空白如何恢复
  19. 千住焊锡丝RMA98,ESC21参数解读:金属含量、焊剂成分、质保期、Lot No. 等
  20. Html设置表格撑开,【CSS】表格或div被撑开的解决办法

热门文章

  1. 北京辰星中医李慧英医生简介
  2. 如何构建飞机维修机库中无线控制大门开关及报警系统?
  3. Sqlserver表和索引压缩
  4. python需求分析说明书_软件需求规格说明书范例
  5. Bison^Flex=语法分析生成中
  6. 001:Kali Linux渗透测试介绍
  7. 2020年新版PHP+H5全栈学习路线图(内含大纲+视频+工具+书籍,持续更新中。。。。。.)
  8. 微信“一键屏蔽公众号”功能来了!你被用户关“小黑屋”了吗?
  9. Python第三方库安装使用国内镜像下载地址
  10. 解决 一加3t 恢复出厂设置后来电无声音问题,解决存储空间中 “其他”占用 40+ G问题