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

相关文章

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.