labelImg将图像标签显示到界面

2024-04-11 08:12

本文主要是介绍labelImg将图像标签显示到界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开View的显示类别

在这里插入图片描述
但是颜色不够清晰,我想自己定制
我的象棋红色和黑色两种。并且把字体方法一些。

在这里插入图片描述
可以看到

color = self.select_line_color if self.selected else self.line_color

参考:https://blog.csdn.net/qq_41082953/article/details/103302252

最终追溯到这里
libs/shape.py的
DEFAULT_LINE_COLOR = QColor(0, 255, 0, 225)
在这里插入图片描述
改造generateColorByText函数

generateColorByText 函数将输入文本转换为一个颜色值。它使用以下步骤:
将文本转换为 Unicode 字符串,以确保与 Python 3 的兼容性。
使用 hashlib.sha256 对文本进行哈希处理。这会生成一个唯一的十六进制哈希值。
将哈希值转换为一个整数。
使用除法运算,将整数分解为三个较小的值,分别代表红色 ®、绿色 (g) 和蓝色 (b) 通道的颜色值。
将每个颜色通道的值限制为 0 到 255 之间的范围。
创建一个 QColor 对象,其中包含生成的红色、绿色、蓝色和 alpha 通道值(设置为 100,表示半透明)。

def generateColorByText(text):s = ustr(text)hashCode = int(hashlib.sha256(s.encode('utf-8')).hexdigest(), 16)r = int((hashCode / 255) % 255)g = int((hashCode / 65025)  % 255)b = int((hashCode / 16581375)  % 255)return QColor(r, g, b, 100)

改为

def generateColorByText(text):s = ustr(text)hashCode = int(hashlib.sha256(s.encode('utf-8')).hexdigest(), 16)r = int((hashCode / 255) % 255)g = int((hashCode / 65025)  % 255)b = int((hashCode / 16581375)  % 255)# 检查文本中是否包含 "red""black" 标签if "红" in s:return QColor(255, 0, 0,255)elif "黑" in s:return QColor(0, 0, 0, 255)else:return QColor(r, g, b, 100)

效果图
右边标签透明度有点高,且字体有点小
在这里插入图片描述

改变透明度

def generateColorByText(text):s = ustr(text)hashCode = int(hashlib.sha256(s.encode('utf-8')).hexdigest(), 16)r = int((hashCode / 255) % 255)g = int((hashCode / 65025)  % 255)b = int((hashCode / 16581375)  % 255)# 检查文本中是否包含 "red""black" 标签if "红" in s:return QColor(255, 0, 0, 255)elif "黑" in s:return QColor(0, 0, 0, 255)else:return QColor(r, g, b, 100)

将255 改成 100

在这里插入图片描述

要修改 QColor 对象的透明度,同时保持其他颜色通道值不变,可以使用 setAlpha() 方法。以下是如何执行此操作:

# 创建一个具有红色不透明颜色的 QColor 对象
color = QColor(255, 0, 0, 100)# 将透明度更改为 50%
color.setAlpha(50)# 打印修改后的颜色值
print(color)

输出:

QColor(255, 0, 0, 50)

如你所见,红色、绿色和蓝色通道值保持不变,而 alpha 通道值已更改为 50,表示 50% 的透明度。

你还可以使用 QColor.getRgb() 方法获取颜色通道值,然后使用 QColor.fromRgb() 方法创建具有不同透明度的新颜色。以下是执行此操作的一种方法:

# 获取当前颜色通道值
r, g, b, a = color.getRgb()# 创建一个具有相同颜色通道值但透明度为 50% 的新颜色
new_color = QColor.fromRgb(r, g, b, 50)# 打印新颜色值
print(new_color)

输出:

QColor(255, 0, 0, 50)

这两种方法都可以让你修改 QColor 对象的透明度,同时保持其他颜色通道值不变。

在 def paint(self, painter):增加

 # 将透明度更改为 255 %color.setAlpha(255)

在这里插入图片描述

# 改变标签字体大小

最终效果图

这篇关于labelImg将图像标签显示到界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用