怎么用python opencv画外接矩形框
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"怎么用python opencv画外接矩形框",在日常操作中,相信很多人在怎么用python opencv画外接矩形框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2025年11月07日怎么用python opencv画外接矩形框
这篇文章主要介绍"怎么用python opencv画外接矩形框",在日常操作中,相信很多人在怎么用python opencv画外接矩形框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用python opencv画外接矩形框"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
画外接矩形框,可以画成一个最大的,也可以分别画。

# -*- coding: utf-8 -*- import cv2 image = cv2.imread('G:/110w2/mask_tif4/00.png') print(image.shape)print(image.shape[0]) # hprint(image.shape[1]) # w# 图像转灰度图img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#cv2.imwrite('G:/110w2/mask_tif4/02.png', img)# 图像转二值图ret, thresh = cv2.threshold(img, 2, 255, cv2.THRESH_BINARY_INV)contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)x1 = []y1 = []x2 = []y2 = []for c in contours: # 找到边界坐标 x, y, w, h = cv2.boundingRect(c) # 计算点集最外面的矩形边界 print(x, y, w, h) # 因为这里面包含了,图像本身那个最大的框,所以用了if,来剔除那个图像本身的值。 if x != 0 and y != 0 and w != image.shape[1] and h != image.shape[0]: # 左上角坐标和右下角坐标 # 如果执行里面的这个画框,就是分别来画的, cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 1) x1.append(x) y1.append(y) x2.append(x + w) y2.append(y + h)x11 = min(x1)y11 = min(y1)x22 = max(x2)y22 = max(y2) # 这个是画出所有目标,都可以包含在内的,一个外接矩形框。#cv2.rectangle(image, (x11, y11), (x22, y22), (0, 0, 255), 1) #cv2.imshow("img", image)cv2.imwrite('G:/110w2/mask_tif4/0_001.png', image)cv2.waitKey(0) # 功能:cv2.findContours()函数来查找检测物体的轮廓。#参数:# 参数1:寻找轮廓的图像,接收的参数为二值图,即黑白的(不是灰度图),所以读取的图像要先转成灰度的,再转成二值图# 参数2: 轮廓的检索模式,有四种。# cv2.RETR_EXTERNAL 表示只检测外轮廓;# cv2.RETR_LIST 检测的轮廓不建立等级关系;# cv2.RETR_CCOMP 建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。如果内孔内还有一个连通物体,这个物体的边界也在顶层。# cv2.RETR_TREE 建立一个等级树结构的轮廓。## 参数3: 轮廓的近似办法.# cv2.CHAIN_APPROX_NONE 存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即max(abs(x1-x2),abs(y2-y1))==1# cv2.CHAIN_APPROX_SIMPLE 压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息# cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS 使用teh-Chinl chain 近似算法# 注:opencv2返回两个值:contours:hierarchy。opencv3会返回三个值,分别是img, countours, hierarchy##返回值#cv2.findContours()函数返回两个值,一个是轮廓本身,还有一个是每条轮廓对应的属性。到此,关于"怎么用python opencv画外接矩形框"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
轮廓
矩形
图像
参数
边界
两个
坐标
方向
学习
灰度
物体
等级
检测
最大
信息
函数
更多
面的
帮助
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库npb
数据库日期的困惑
飞旭软件开发
包就业软件开发培训机构
软件开发能不能申请发明专利
福建 软件开发有限公司
moomsec网络安全论坛
维蒂监控服务器怎么重启
网络安全越做越好是什么意思
软件开发需要什么原材料
dns服务器的解析方式有
民航气象数据库ab报
防电信网络安全的黑板报
vivoz5x服务器地址怎么看
苹果手机软件开发工程师
番茄输入法软件开发
咸宁哪里有软件开发方案
聚格软件开发
网络安全机房配置
苗宇龙 软件开发
java测试数据库链接
怎么查询金仓数据库密码
学生网络安全教育发言稿
长城电脑通讯服务器ip地址
pl数据库照片如何显示
苏州企业软件开发
it网络技术总监招聘录像
web程序设计和网络技术
群晖nas服务器
北海党建无纸化会议系统服务器