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

语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆

文章目录

  • mask图像介绍
  • 步骤
  • 代码

mask图像介绍

根据 mask 图像来画分割对象的外接椭圆是一种常见的图像分割任务。Mask 图像通常是一个二值图像,其中包含了感兴趣对象的像素。通常情况下,白色像素表示对象,黑色像素表示背景。

步骤

以下是一般的步骤,演示如何根据 mask 图像来画分割对象的外接椭圆:

  • 加载 Mask 图像: 读取包含对象分割信息的 mask 图像。这个图像可以是单通道的灰度图像,其中对象区域是白色,或者是具有 alpha 通道的带有透明背景的图像。
  • 寻找对象轮廓: 使用 cv2.findContours() 函数查找 mask 图像中对象的轮廓。这些轮廓将帮助我们确定对象的形状。
  • 拟合外接椭圆: 对每个对象轮廓,使用 cv2.fitEllipse() 函数计算其外接椭圆。
  • 绘制外接椭圆: 使用 cv2.ellipse() 函数将计算得到的外接椭圆绘制在原始图像上,或者创建一个新的图像来显示结果。

代码

输入图片
在这里插入图片描述
代码

import cv2
import numpy as np# 读取图像
image = cv2.imread('7.png')
# print(image.shape)
# exit()
# 将图像转换为灰度
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 使用二值化处理图像
ret, binary_image = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)# 查找二值化图像中的轮廓
contours, _ = cv2.findContours(binary_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # CHAIN_APPROX_SIMPLE# 遍历轮廓并绘制外接圆
for contour in contours:if len(contour) >= 5:# 计算外接椭圆ellipse = cv2.fitEllipse(contour)# 绘制外接椭圆cv2.ellipse(image, ellipse, (0, 255, 0), 2)# 显示结果
cv2.imshow('Image with Circles', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出图片
在这里插入图片描述

http://www.lryc.cn/news/186389.html

相关文章:

  • Nosql redis高可用和持久化
  • 软件工程(1、2;5~7小测参考答案)
  • 服务器存储面临的两大难题
  • Blind Signature盲签名与fabric区块链结合的应用
  • ueditor
  • 2023年台州市第三届网络安全技能大赛(MISC)—Black Mamba
  • 这道面试题工作中经常碰到,但 99% 的程序员都答不上来
  • Linux安装单机PostgreSQL15.4
  • 最新 SpringCloud微服务技术栈实战教程 微服务保护 分布式事务 课后练习等
  • Docker搭建MySQL8.0主从复制(一主一从)
  • 40V汽车级P沟道MOSFET SQ4401EY-T1_GE3 工作原理、特性参数、封装形式—节省PCB空间,更可靠
  • 记录在搭建Jenkins时,所遇到的坑,以及解决方案
  • 二极管“天马行空”的作用,你知道吗?
  • 鼎盛合:adc芯片的五种结构
  • CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http
  • 物联网AI MicroPython传感器学习 之 4路电容式触摸开关
  • 头戴式耳机什么牌子最好?头戴式耳机推荐性价比高
  • 第 366 场周赛 LeetCode 周赛题解
  • Linux: tcpdump抓包示例
  • seafile server10.0.1 onlyoffice
  • 商城系统选型:Java商城系统还是PHP商城系统好?
  • 【多线程进阶】线程安全的集合类
  • 016 Spring Boot + Vue 图书管理系统
  • C语言中volatile/register/const/static/extern/auto关键字的作用
  • docker compose的安装和使用
  • /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found (required by
  • 数字化转型的必备工具:智能呼叫中心系统的应用
  • macOS Sonoma 正式版系统已发布,macos14值得更新吗
  • 数据结构-图-最短路径问题
  • 弹性资源组件elastic-resource设计(二)-集群