千家信息网

怎么用python opencv画外接矩形框

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"怎么用python opencv画外接矩形框",在日常操作中,相信很多人在怎么用python opencv画外接矩形框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2026年11月02日怎么用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安全错误 数据库的锁怎样保障安全 喔噻互联网科技有限公司 科技互联网政务服务 盈实互联网科技 互联网公司 科技公司 上海互联网科技有限公司 万易互联网科技有限公司 世界互联网领先科技成果 科技创新互联网企业 上海致骋互联网科技 亿账通互联网科技 太原新华互联网科技学校怎么样 互联网实体化科技化 栖莱科技互联网股份有限公司 中国互联网十大科技股排名 迪庆互联网科技招生 世界互联网领先科技成果获奖 上海科技产业互联网平台 江苏互联网智能科技软件 福建互联网展示科技馆设计 承德科技产业互联网平台 厦门中拓互联网络科技有限公司 没上市的科技互联网公司 小马过河互联网科技 互联网科技素材视频竖屏 老年人脱离互联网科技的作文 阿里巴巴算科技企业还是互联网 常德市电业局互联网科技部 顶级互联网科技成果有哪些 阿里互联网科技公司 卡尔迅互联网科技有限公司
0