吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 756|回复: 9
收起左侧

[求助] [已解决]深度学习相关:将mask图片标注转为yolov8_seg的txt标注

[复制链接]
aaqbb 发表于 2024-3-14 12:41
本帖最后由 aaqbb 于 2024-3-15 14:03 编辑

求一个将png格式的标注转为yolov8的语义分割标注的python代码
png标注如下图所示,数据集是这个

yolov8 segment标注格式如下所示,相关链接
<class-index> <x1> <y1> <x2> <y2> ... <xn> <yn>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
TGN 发表于 2024-3-14 13:01
提示: 该帖被管理员或版主屏蔽
zhangcaicai 发表于 2024-3-14 13:48
这个简单,可以使用opencv把mask的轮廓找出来,再转成坐标点,最后按照自己的格式写入txt就好了
例如
[Python] 纯文本查看 复制代码
    img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
    img_h,img_w = img.shape[:2]
    contours, _ = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
    approx_contours = []
    for contour in contours:
        epsilon = 0.001 * cv2.arcLength(contour, True)
        approx = cv2.approxPolyDP(contour, epsilon, True)
        approx_contours.append(approx)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
aaqbb + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| aaqbb 发表于 2024-3-14 14:01
本帖最后由 aaqbb 于 2024-3-14 14:07 编辑
zhangcaicai 发表于 2024-3-14 13:48
这个简单,可以使用opencv把mask的轮廓找出来,再转成坐标点,最后按照自己的格式写入txt就好了
例如[mw_s ...

那类别怎么处理呢,我这有三个类别
background
pointer
scale

大佬可以给个完整的代码吗,可以去我的悬赏贴回复 悬赏额要多少都可以{:1_923:}
zhangcaicai 发表于 2024-3-14 15:28
假设你已经获取了物体的轮廓坐标点[[x1,y1],[x2,y2],[x3,y3]...],那么你需要把轮廓坐标点做归一化处理,然后你的类别有[background,pointer,scale],对应的class-index是0,1,2
然后你需要把标签信息输入txt中,格式类似<class-index> <x1> <y1> <x2> <y2> ... <xn> <yn>
例子:1,x1,y1,x2,y2,x3,y3......
zhangcaicai 发表于 2024-3-14 15:35
你提供的png图片是全黑的,并没有标注信息
 楼主| aaqbb 发表于 2024-3-14 16:09
zhangcaicai 发表于 2024-3-14 15:35
你提供的png图片是全黑的,并没有标注信息

有标注的,我在网上搜的说L模式的mask图就是没有颜色的
 楼主| aaqbb 发表于 2024-3-14 20:21
我把原来的全黑转成彩色了
durhummer 发表于 2024-3-15 13:00
我现在还是弄  imagelab 一个一个的标注。
 楼主| aaqbb 发表于 2024-3-15 14:04
在https://github.com/matthewkenely/mask-to-annotation找到转换代码了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-14 19:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表