图像椭圆标注可视化

标注txt格式是这样的(序号 长半轴 短半轴 角度 中心坐标x y)
在这里插入图片描述

import cv2
# import numpy as np

# 定义画椭圆的函数
def draw_ellipse(major_axis, minor_axis, angle, x, y, file, file1):
        # # 创建一个黑色背景图像
        # img = np.zeros((512, 512, 3), np.uint8)
        
        # 指定一个背景图像
        img = cv2.imread(file1)
        
        # 定义椭圆中心、长轴长度和短轴长度
        center = (round(x), round(y))
        axes = (round(major_axis), round(minor_axis))

        # 定义椭圆的旋转角度(逆时针方向)(我这里数据为百分比)
        angle = angle*90

        # 定义椭圆的颜色和线宽
        color = (255, 255, 255)
        thickness = 1 #-1可以将椭圆变实心

        # 在图像上绘制椭圆
        cv2.ellipse(img, center, axes, angle, 0, 360, color, thickness)

        # 保存图像
        cv2.imwrite(file, img)
        
        # 显示图像
        # cv2.imshow('image', img)
        # cv2.waitKey(0)
        # cv2.destroyAllWindows()

# 读取txt文件
with open('D:\Desktop\DAGM\Class1_def\Class1_def/label.txt', 'r') as f:
    line = f.readline()
    # 循环读取每一行数据
    while line:
        # 删掉空格
        line = line.strip(" ").split()
        # 背景图片路径
        filename1 = 'Class1_def/' + line[0] + '.png'
        # 以图像名作为文件名
        filename = 'Mask/'+line[0] + '.jpg'  
        # 读取椭圆数据
        major_axis = float(line[1])
        minor_axis = float(line[2])
        angle = float(line[3])
        x = float(line[4])
        y = float(line[5])
        
        # (创建黑色图像)并画椭圆
        draw_ellipse(major_axis, minor_axis, angle, x, y, filename, filename1)

        line = f.readline()



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值