图像分割[一]——具有磁力索引标注功能的LabelMe

2023-11-06 07:30

本文主要是介绍图像分割[一]——具有磁力索引标注功能的LabelMe,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

具有磁力索引标注功能的LabelMe

    • LabelMe-improved
    • What Is New
      • 任意斜率椭圆标注工具
      • 磁力索引
        • 原理
        • 具体使用
    • 写在最后

LabelMe-improved

基于原本MIT发布的python-qt版本的LabelMe进行改进。Github.

What Is New

任意斜率椭圆标注工具

第一个点作为椭圆中心,椭圆的长边和短边分别为第一个点到第二个点的距离和第二个点到第三个点的距离。斜率则由第二点确定。
如图(我是烧焊专业的):
任意斜率椭圆标注工具

磁力索引

原理

以Sobel算子和Canny算法先计算整图的代价图。鼠标每次点击都会以该点击点为中心点,一定范围内区域将通过Dijkstra算法求得种子点到实际鼠标指针的最短距离,并通过画布绘制,再次点击时,将同时创建终点和新的种子点。由于复杂的最短路径寻找均在C++中实现,因此基本感受不到延迟。

具体使用

首先选择开始点,然后依次经过所需标注的物体。若发现最短路径计算不是自己想要的,可以通过按下"Q"键取消磁力索引,再次按下"Q"键将可以恢复磁力索引功能。若错误点击,可以通过鼠标右键撤销一个阶段,即返回上一次的种子点,或者完全不想要这次的标注,则可以直接按下ESC键。
考虑到我自身是做焊接的,因此有些边缘不会封闭,因此具有封闭和不封闭两种标注方式。对于封闭标注方式,仅需将最终种子点设置为起点即可,具体做法为最终点击一下最原始的起点。对于非封闭标注方式,只需在画布上快速双击鼠标左键即可。

磁力索引标注工具

写在最后

这也是我的老本行了,图像分割,后面还会分享一些自己设计的网络模型、损失函数以及训练方式,以及等项目结题了,有时间分享一些分割网络落地的注意事项。还有就是,我的编程能力很拉,离开了CSDN、Github等开源平台,就完全不会写代码,因此还有许许多多的bug,欢迎大家push request。

这篇关于图像分割[一]——具有磁力索引标注功能的LabelMe的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/355278

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient