该案例主要涉及到不同形状的图形。根据获得轮廓,计算边数。来判断属于什么形状,并将之输出在图片上。具体代码和结果如下:

import cv2
from urllib3 import connection_from_url
img = cv2.imread("pyopencv_again/shape.jpg")
imgconts = img.copy()
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
canny = cv2.Canny(img,150,200)
conts,_ = cv2.findContours(canny,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)for cont in conts:#print(cont)cv2.drawContours(imgconts,cont,-1,(255,0,0),2)area = cv2.contourArea(cont)if area >500:#计算周长作为精度参数peri = cv2.arcLength(cont,True)#多边形逼近轮廓  获得边vertices = cv2.approxPolyDP(cont,peri*0.02,True)#统计每个形状的边数contsnum = len(vertices)#最大外接矩形 获取(x,y)宽和高x,y,w,h = cv2.boundingRect(vertices)if contsnum ==3:cv2.putText(imgconts,'3',(x,y-5),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),1)cv2.rectangle(imgconts,(x,y),(x+w,y+h),(0,255,0),2)if contsnum ==4:cv2.putText(imgconts,'4',(x,y-5),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),1)cv2.rectangle(imgconts,(x,y),(x+w,y+h),(124,25,110),2)if contsnum == 5:cv2.putText(imgconts,'5',(x,y-5),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),1)cv2.rectangle(imgconts,(x,y),(x+w,y+h),(1,115,110),2)if contsnum >= 6:cv2.putText(imgconts,'circle',(x,y-5),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),1)cv2.rectangle(imgconts,(x,y),(x+w,y+h),(101,15,10),2)#cv2.imshow('img',img)
cv2.imshow('imgcont',imgconts)
cv2.waitKey()

案例-使用python实现基于opencv的形状识别相关推荐

  1. 案例-使用python实现基于opencv的车辆识别

    写在开头,接触opencv也有很长一段时间了,中间还接触了halcon.但都是基于C++实现,发现如果有什么idea,还是使用python可以快速实现.基于C++版本的后期会有更新. 首先,这个案例是 ...

  2. Python 毕业设计 - 基于 opencv 的人脸识别上课考勤系统,附源码

    一.简介 这个人脸识别考勤签到系统是基于大佬的人脸识别陌生人报警系统二次开发的. 项目使用Python实现,基于OpenCV框架进行人脸识别和摄像头硬件调用,同时也用OpenCV工具包处理图片.交互界 ...

  3. Python编程 - 基于OpenCV实现人脸识别(实践篇)爬虫+人脸识别

    一.案例概述 本案例需要一定的Python编程基础并掌握OpenCV基本使用. 时间仓促:初略编写文档 效果如下: 开发环境: 操作系统:Windows 10 开发工具:PyCharm 2019.2版 ...

  4. Python基于OpenCV的人脸识别自助商店(源码&部署视频)

    1.模块功能介绍 实现人脸识别模块.人脸登录与注册功能.商店显示和用户余额页显示功能 用GUl图形界面实现(pyqt)语言python windows下软件pycharm 1.用户登录模块:刷脸登录 ...

  5. Python 基于 opencv 的车牌识别系统, 可以准确识别车牌号

    大家好,我是程序员徐师兄,6 年大厂程序员经验,点击关注我 简介 毕业设计基于Opencv的车牌识别系统 车牌搜索识别找出某个车牌号 对比识别车牌系统 车牌数据库认证系统 车牌图文搜索系统 车牌数据库 ...

  6. 基于OpenCV实现人脸识别--Python

    目录 前言 第一章 OpenCV介绍 第二章 功能描述 2.1 对已有的数据进行检测 2.2 陌生人检测并发出警告 2.3 保存陌生人的视频 2.4 输入图片进行检测 2.5 现场录用信息 第三章 功 ...

  7. 基于OpenCV的人脸识别自助商店(源码&部署视频)

    1.模块功能介绍 实现人脸识别模块.人脸登录与注册功能.商店显示和用户余额页显示功能 用GUl图形界面实现(pyqt)语言python windows下软件pycharm 1.用户登录模块:刷脸登录 ...

  8. 树莓派 --- 基于OpenCV实现人脸识别

    目录 参考博客 调百度人脸识别的API也能达到目的,我这里是基于OpenCV进行人脸识别 OpenCV(Open source Computer Vision Library) 是一个开源的计算机视觉 ...

  9. 基于OpenCV的车牌识别的设计与实现

    随着大数据和互联网技术的快速发展,利用人工智能技术实现车牌信息的自动识别推荐成为研究的热门话题.通过对基于OpenCV的车牌识别系统的网站功能需要进行讨论研究,这种跨平台计算机视觉和机器学习非常适用于 ...

最新文章

  1. 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计
  2. React上下文-Context
  3. 专栏 | 基于 Jupyter 的特征工程手册:特征选择(一)
  4. Web前端培训知识分享:2种离线安装npm包的方法
  5. linux的nohup命令的用法。
  6. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 6丨寻找用户推荐人【难度简单】
  7. embedv.php_PHP与视频播放插件功能实现,非常简单
  8. linux mysql 性能提高,高手心得:提高MySQL性能的方法
  9. asp控制oracle,asp下用OracleInProcServer完成对Oracle的连接和操作
  10. apirestful php自动测试,PHP实现自动识别Restful API的返回内容类型
  11. 面试时,如何向HR解释自己频繁跳槽?
  12. spring cloud gateway Unhandled failure: Only one connection receive subscriber allowed.
  13. paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.
  14. [数理统计-逐步回归]国内旅游收入回归
  15. 理解Word2Vec模型
  16. 为什么html中图片显示不出来,网页图片显示不出来怎么办
  17. python从excel中读取数据 写入word_Java调用python脚本,读取excel表格数据并写入word文档-Go语言中文社区...
  18. 浅谈测试工程师必备软技能:沟通表达篇
  19. mysql cluster部署_mysql cluster部署
  20. 第4届CCCC字符串大赛 L2-3深入虎穴

热门文章

  1. 清单的用法、配置文件的配置、临时命令的用法
  2. 献给小白的笔记day6
  3. 拼多多商品id怎么查看 拼多多店铺ID怎样看
  4. python中if brthon环境安装包_Python实现base64编码的图片保存到本地功能示例
  5. 如何通过命令行使Linux设备进行网页认证(WEB认证)
  6. Log4j2配置之Appenders
  7. 学习深度学习是否要先学习机器学习?
  8. Linux发行版本及其区别
  9. python-OpenCv调用IP摄像头APP
  10. Tomcate安装配置