python工具方法 24 语义分割结果按连通域分割提取其外接矩形保存为yolo标注
2023-09-14 09:15:04 时间
将语义分割结果按每一种label下的连通域进行分割,并提取其外接矩形(x,y,h,w),并除以图像的size转化相对值描述的yolo标注。
1、单个图片转矩形框用txt描述
特别说明的是,对于图片以0为背景值,但保存的txt描述,class_index会减1。如果不适用于自己的数据,请将now_t-1修改为now_t即可
import cv2
import numpy as np
from PIL import Image
def get_rect(path,min_area=4):
img = Image.open(path)
gray = np.array(img)
size=gray.shape[:2]
#获取全部的label
type=np.unique(gray)
cc=0
#针对每一个label进行掩码操作
f=open(path.replace(path.split('.')[-1],'txt'),'w')
for t in type:
#跳过背景
if t==0:
continue
binary=gray.copy()
binary[binary!=t]=0
binary[binary>0]=1
binary=(binary*255).astype(np.uint8)
contours,hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)#查找轮廓
#print(len(contours))
#针对特定的label下&
相关文章
- Python读取一个目录下的所有文件
- Python深入学习之特殊方法与多范式
- python中的抽象方法
- python操作mongodb查询出现Object of type 'ObjectId' is not JSON serializable解决方法
- Python编程语言学习:基于python各种库(matplotlib、Image)利用多种方法展示图片或进行图片可视化之详细攻略
- Py之matplotlib:python包之matplotlib库图表绘制包的简介、安装、使用方法(matplotlib颜色大全)详细攻略
- Python语言学习:python语言代码调试—异常处理之详细攻略
- Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介、安装、使用技巧方法集合之详细攻略
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
- Python之ffmpeg-python:ffmpeg-python库的简介、安装、使用方法之详细攻略
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 〖Python零基础入门篇㉗〗- Python中集合的常用方法
- python 查询 elasticsearch 常用方法(Query DSL)
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- python工具方法 28 简单整理分享一些图像crop及展示的代码
- python 工具方法 20 语义分割-小目标数据扩充
- python工具方法 16 保存模型分类后的数据及分类错误的数据
- python工具方法 4 依据随机种子将数据划分为训练集、测试集、验证集
- python工具方法 1 tensorflow简单全连接神经网络,识别minist手写数字