python实现一个简单的【图像中物体坐标】标注小工具

这篇博客介绍了如何使用Python创建一个简单的图像物体坐标标注工具。通过该工具,可以读取图片并人工标注物体的坐标信息,便于后续的数据预处理。文章提供了相关参考链接和源码,说明了代码目录结构及效果,特别指出在实际操作中,只需输入编号即可获取标注坐标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候需要对于数据集进行预处理,通过标注获取坐标信息,再进行后续的操作。使用python能够快速读取图片,并能够通过人工标注,记录一下每个点的横竖坐标,如下记录学习笔记。

参考链接:https://lcqbit11.blog.youkuaiyun.com/article/details/69951249

参考链接:https://blog.youkuaiyun.com/wuzuyu365/article/details/52523061?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242

参考链接:https://blog.youkuaiyun.com/qq_26697045/article/details/101461525

参考链接:https://www.jb51.net/article/157968.htm

 

源码

整个目录的结构如下:

根目录

——images:存放图片

——outputs:存放标注坐标信息

图片存放位置:E:\Python\biaozhu\images\001(图片仅仅是用来测试的,应存放数据集)

from __future__ import division
import tkinter as tk
from tkinter import Frame
from tkinter import BOTH
from tkinter import *
import tkinter.messagebox
from PIL import Image, ImageTk
import os
import glob
import random  
  
w0 = 1; #图片原始宽度  
h0 = 1; #图片原始高度  
  
# colors for the bboxes  
COLORS = ['red', 'blue', 'yellow', 'pink', 'cyan', 'green', 'black']  
# image sizes for the examples  
SIZE = 960, 600  
  
#指定缩放后的图像大小  
DEST_SIZE = 960, 600   
  
class LabelTool():  
    def __init__(self, master):  
        # set up the main frame  
        self.parent = master  
        self.parent.title("图像标注")  
        self.frame = Frame(self.parent)  
        self.frame.pack(fill=BOTH, expand=1)  
        self.parent.resizable(width = TRUE, height = TRUE)  
  
        # initialize global state  
        self.imageDir = ''  
        self.imageList= []  
        self.egDir = ''  
        self.egList = []  
        self.outDir = ''  
        self.cur = 0  
        self.total = 0  
        self.category = 0  
        self.imagename = ''  
        self.labelfilename = ''  
        self.tkimg = None  
  
        # initialize mouse state  
        self.STATE = {}  
        self.STATE['click'] = 0  
        self.STATE['x'], self.STATE['y'] = 0, 0  
  
        # reference to bbox  
        self.bboxIdList = []  
        self.bboxId = None  
        self.bboxList = []  
        self.hl = None  
        self.vl = None  
  
        # ----------------- GUI stuff ---------------------  
        # dir entry & load  
        self.label = Label(self.frame, text = "Image Dir:")  
        self.label.grid(row = 0, column = 0, sticky = E)  
        self.entry = Entry(self.frame)  
        self.entry.gri
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蹦跶的小羊羔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值