自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (11)
  • 收藏
  • 关注

原创 Label-Studio ML利用yolov8模型实现自动标注

Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个,您可以在自己的工作流程中使用这些模型,也可以根据需要进行扩展和自定义。如果您想改为编写自己的模型,请参阅。

2024-09-30 11:20:00 649

原创 Avalonia:自定义控件

如果希望它具有可以由_Avalonia UI_样式系统设置的属性,则需要定义一个静态只读字段并使用方法来注册样式化属性。样式化属性将在运行时和预览面板中均起作用。//静态属性字段: Name + Property//实例公开访问属性Background//属性涉及的更改变化= null)使用注册的维护了一个优先级列表,其中包含允许样式工作的值和绑定。样式属性通过调用AddOwner来添加一个所有者,指定该属性所属对象,进行限定-- 这与以下方式相同 -->

2024-09-20 10:57:58 602

原创 Avalonia:样式选择器、主题资源、绑定、动画

Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。一个跨平台的UI框架,与跨平台.Net结合,为不同平台分发软件。

2024-09-19 09:22:39 626

原创 WPF动画

​Windows Presentation Foundation (WPF) 提供了一组强大的图形和布局功能,使用户能够创建引起注意的用户界面和有吸引力的文档。 动画不仅可以使引起注意的用户界面更加引人注目,还可以使其更加便于使用。 只需对背景色进行动画处理或应用经过动画处理的Transform,即可创造出生动的屏幕过渡效果或提供有帮助的视觉提示。动画类型包括 “From/To/By” 动画、关键帧动画、路径动画和抽象类 AnimationBase,动画都是继承自 Timeline 类的时间线

2024-09-17 19:52:31 913

原创 WPF中依赖属性或附加属性的继承

WPF 中的许多控件使用定义控件的结构和外观,因为它可以将控件的外观和功能区分开来。重新定义可以极大地更改控件的外观。例如,假设需要在标签或左上角显示一个小圆点,以不同颜色表示状态。由于Label使用控件模板定义外观,因此很容易重新定义以符合该控件的要求,从而使用Label来制作交通信号灯。尽管有些时候可以使用,但在某些时候,光有还不够。定义控件内容的外观。当外观要求与默认外观存在很大差异,有必要重新定义。一般情况下,用于定义控件的内容(或数据),用于定义控件的构成方式。

2024-09-11 19:25:54 834

原创 Winform中引入WPF控件后键盘输入无响应

Winform中如何引入WPF控件的教程很多,对于我们直接通过ElementHost引入的直接显示控件,它是可以响应键盘输入消息的,但对于在WFP中弹出的窗体来说,此时是无法响应我们的键盘输入的。我们需要给它使能键盘输入。

2024-09-10 17:45:43 635

原创 VS中.NET项目中央包管理和多目标框架配置

通常我们在做项目时会给不同的程序员分配不同的功能模块进行各自开发,当然要遵守一定的约定或同一的框架设计。这在同一个工程中就会出现不同的项目类库需要引用,而这些类库可能会引用一些Nuget包,对于这些包的管理如果都在每个项目中去定义版本就会显得麻烦,如果引用了不同的版本可能会导致意想不到的错误,并且查看这些包的版本也非常不方便。同时如果我们需要做目标多框架类库时,不同的框架有些包时是都支持的而有些有需要特定版本。

2024-09-10 17:04:18 411

原创 ListBox等控件的SelectedItem,SelectedValue,SelectedValuePath属性详解

初学WPF可能会对诸如ComboBox、ListBox等集合控件的当前选择项的绑定有所疑惑,控件提供了两个可绑定对象:SelectedItem\SelectedValue,同时还有DisplayMemberPath\SelectedValuePath。本节来讲述一下它们的设计意图和用法。

2024-09-03 17:14:20 805

原创 第八节:Nodify 编辑器属性

经过前几章的学习,你已经对Nodify框架有了初步的编程思路。当然只局限于这些还完全不够,本章节将阐述各个结构组件的一些常用属性,以便在日后的开发过程中更得心应手。

2024-08-23 16:22:05 1005

原创 第七节:Nodify 设置轴网格

绘制简单的网格只需创建一个网格画笔,同时将编辑器的变换持续应用于它,并将该画笔用作编辑器的Background。因为我们绘制的网格是由线条组成的,而不是填充的,所以编辑器的Background将具有一些透明度,这意味着我们会看到下面控件的背景颜色。为了解决这个问题,将编辑器包装在一个Grid中,并设置其Background,或者设置Window的。

2024-08-23 14:17:53 245

原创 第六节:Nodify 移除节点连接

要删除连接,只需监听来自连接器本身或编辑器的断开连接事件,并删除具有连接器作为源或目标的连接。为了简单起见,我们将为实现。

2024-08-23 14:12:09 234

原创 第五节:Nodify 节点位置设置

如果你尝试过前几节的代码,会发现节点都是出现在0,0 位置,及编辑器左上角。编辑器作为最外层的交互控件,内部封装了节点容器ItemContrainer,我们通过样式属性对Loaction做绑定。本节将介绍如何配置节点位置。

2024-08-23 13:54:29 253

原创 第四节:Nodify 连接端子手动连接

第三节讲到,可以添加节点并通过后台代码连接端子。在实际的运用过程中通常需要在编辑器界面中去手动拖动端子进行连接,此时需要一个预连接模块,来存储手动拖动时接触的两个端子,并在鼠标松开后进行连接。

2024-08-23 13:39:56 363

原创 第三节:Nodify 添加连接关系

Nodify有三层结构,编辑器Editor,节点Node和连接组件Connection,上节介绍了节点和编辑器,本节介绍连接组件。连接组件用于保存节点中连接端子的连接关系,并随节点的拖动改变。

2024-08-23 12:47:15 280

原创 第二节:Nodify 添加节点到编辑器中

上节说到Nodify有三层结构,编辑器Editor,节点Node和连接组件Connection,下面就让我们来进行第一步尝试,在编辑器中添加一个节点。在窗口中添加nodify命名空间,并添加控件。

2024-08-23 11:57:46 537

原创 第一节:Nodify 的简介和安装

Nodify 是专为 MVVM 设计的基于节点的编辑器的高性能控件集合。其中包含一系列节点、连接和连接器组件,旨在简化构建基于节点的工具的过程。它提供了一个节点图编辑器组件,可以嵌入到任何 WPF 应用程序中。该图形编辑器是一个无限区域,您可以在其中放置和移动节点,选择和拖动节点组,连接和断开节点或连接器,放大和缩小,以及在将节点或导线拖动到边缘附近时自动移动屏幕等。形状画布游乐场应用程序状态机“实时”计算器。

2024-08-23 11:13:41 382

原创 NSI程序打包脚本文件编写教程

NSIS (Nullsoft Scriptable Install System) 是一个专业开源的制作 windows 安装程序的工具。我们通过HM NSIEDIT编写好脚本、编译即可生成exe安装包。安装过程中可以配置其安装包图标、名称、出版人、网站等。此外,还可以设置程序开机自启动、管理员权限运行等给基于注册表的操作,也可以运行批处理文件(bat文件)进行系统模块的安装。

2024-08-21 18:56:25 1104

原创 MVVM框架下的Mapster工具包

WPF应用程序的三层架构:Model->ViewModel->View。个人理解就是将后台的运行配置文件或则结果Model转换为可以与窗体交互的ViewModel,ViewModel 再与窗体进行深度绑定,实现后台与前端的解耦。ViewModel作为中间介质包含Model的开放属性,同时又有和View交互的衍生属性或则命令Command。Mapster提供了一种ModelViewModel的映射方法,通过Adapt扩展方法实现属性相互映射。

2024-05-08 15:38:29 770

原创 附加属性和依赖属性

依赖属性可以提供数据绑定、样式、动画等功能,如果控件本身未提供而我们需要一些这样的功能,就需要编写依赖属性。依赖属性DP是控件/类的静态字段(只能在控件自身的类中编写),并且它只存在于依赖对象上(通过全局的静态HashTable存储这些控件/类的依赖属性)。附加属性是针对已有控件无法编写它的类,就没法为它添加依赖属性,需要将某些属性通过外在方式附加在该控件上,这也就决定了附加属性可以用在多种控件上。

2024-03-07 12:06:32 433

原创 Log4Net 工具二次封装

log4net是一个高度灵活且强大的日志记录库,可用于记录应用程序的运行时信息。它支持各种日志输出格式和目的地,如文件、数据库、控制台等。传统用法我们需要手动配置log4net.config文件,这极大不利于我们对日志文件的管理和分类,今天就介绍一种封装方法,可以便于我们利用代码动态生成配置和创建日志文件并记录日志信息。

2024-03-05 15:58:31 407

原创 Newtonsoft.Json

Newtonsoft.Json是一款高性能Json序列化和解析工具,开源免费!它使得配置文件的保存和读取变得简单,提供对类属性和字段的序列化控制,以及在序列化过程中或完成后执行相应的方法。

2024-02-29 18:31:05 2034

原创 行为和触发器

行为是高度可定制的独立类型,它为所属控件类型提供操作模式,但不局限于某一个控件。控件的界面逻辑大都可以被认为是行为,如TextBox被聚焦后自动权限、鼠标悬浮时背景变红色等。

2024-02-22 17:16:20 469

原创 异步任务超时机制

Task没有中断方法,只能用取消令牌。需要使用取消令牌,主动取消任务。在方法中处理取消异常,

2024-02-20 18:04:09 361

原创 可观测集合 ObservableCollection<T>、BindingList<T>

WPF中经常使用的是集合类型,数据条目经常按集合类型进行保存收纳,当我们向用户公开一些命令:添加、删除或刷新整个列表,如何通知界面进行准确的刷新呢?这时我们就需要使用可被观测的集合 ObservableCollection、BindingList。

2024-02-18 15:11:11 1138

原创 数据绑定ElementName与RelativeSource局限性

xaml代码中属性的绑定主要是通过元素名或类型进行查找绑定和解析的,但是当在后台生成控件或面对popup、menuitem时,发现他们都查找不到这时为什么呢?

2024-01-27 17:08:27 421

原创 ValueConverters.NET

该工具包提供一些常用的值转换器,如布尔值、数值、字符串、空类型、可见性、枚举值、日期等相互转换,此外还提供了ValueConverterGroup,用以串联值转换器实现最终的转换目标。

2024-01-27 15:30:10 373

原创 数据验证方法补充ValidationRule、ValidationAttribute

除了使用CommunityToolkit.Mvvm工具包的ObservableValidator,.Net 抽象类VlidationRule也可以让我们实现自定义验证方法,但验证很受限,只能对当前值进行判断,无法获取对象的上下文。

2024-01-27 14:57:04 291

原创 System.Threading.Channels 高性能异步队列

System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它提供一个异步数据集合,可用于生产者和消费者之前的数据异步传递。instances.提供通道的行为控制 有限通道提供创建通道的静态方法T泛型通道,写入和读取方类型都为 TTReadTWrite泛型通道,分别指定写入和读取方的类型通道在关闭后被调用时会抛出此异常提供通道的行为控制通道读取方的基类通道写入方的基类提供通道的行为控制 无限制通道。

2024-01-24 18:36:39 1097 1

原创 CommunityToolkit.Mvvm支持环境

CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为)是一个现代、快速和模块化的 MVVM 库。此包面向 .NET Standard,因此可在任何应用平台上使用:UWP、WinForms、WPF、Xamarin、Uno 等;并且可在任何运行时上使用:.NET Native、.NET Core、.NET Framework 或 Mono。

2024-01-24 17:03:03 1337

原创 CommunityToolkit.Mvvm

MVVM 工具包包含全新的 Roslyn 源生成器,有助于在使用 MVVM 体系结构编写代码时大幅减少样板。这意味着,在编写代码时,MVVM 工具包生成器现在将负责在后台为你生成其他代码。利用特性可以自动后台生成冗余代码,根据字段自动公开一个首字母大写的属性,可供View绑定使用。

2024-01-24 11:21:52 748

原创 Winform制作的用户界面在高DPI下缩放问题

引言熟悉Winform的小伙伴应该都遇到过 在100%缩放下制作的用户界面在其他缩放百分比下会出现字体超出边框的情况,导致用户体验大打折扣。用户程序DPI感知是默认打开的,此时可以通过关闭这种感知来禁用字体的缩放,在这种情况下,用户界面会以一种图像放大或缩小的形式来实现缩放,而不是通过内容 如字体大小实现缩放。可能出现的缺点:界面一定程度的模糊。

2023-07-30 03:02:16 1715

原创 Gitlab 访问令牌更新 替换

访问令牌到期后如何丝滑更换,或则如何更改账户的访问令牌实现权限变动呢?在我们使用访问令牌克隆项目之后,Windows凭据就帮我们记录下了密码。当然密码是不可见的,只能进行删除重新设置,通过凭据管理器进行更改。

2023-06-27 11:32:05 2395

原创 Gitlab保护分支与合并请求

熟悉了Git工作流之后,有几个重要的分支,如Master(改名为Main)、Develop、Release分支等,是禁止开发成员随意合并和提交的,在此分支上的提交和推送权限仅限项目负责人或维护人员。开发人员如果功能模块测试完善,后可提交合并请求,让维护人员进行审批、代码合并。

2023-06-27 11:25:34 5160 1

原创 Gitlab 双重认证和访问令牌的使用

双重认证可以提高用户账户的安全性,防止密码泄露,他人随意登录。访问令牌就相当于项目或群组的访问密码,有了它就可以克隆项目。同时访问令牌有自己的有效期限和权限,群组或项目管理员可以根据需要设置不同权限和时间的访问令牌供不同的项目或群组成员使用。此外,访问令牌仅在首次创建后可见,关闭页面后只能查看到令牌的使用情况和删除令牌。在使用令牌克隆项目之后就不需要再输入访问令牌了,针对该项目的推送和拉取实现。负责人需要妥善管理好访问令牌,做好保密措施。建议每6个月定期更新。

2023-06-27 10:54:39 4903

原创 Gitlab将本地代码推送到远程空仓库

如果我们的本地代码想上传到公司内部的服务器,首先我们需要在VS2022中创建Git仓库,然后设置远程仓库的地址,才能将本地代码推送到远端。在远端会根据你本地的分支名称新建分支或合并到已有分支中。同时,可以设置多个远程服务端,在公司内部使用内网推送,出差在外使用外网推送。

2023-06-27 10:29:00 2698

原创 Gitlab群组及项目仓库搭建

回顾一下Git工作流,工程人员只需要从Develop分支新建自己的分支即可。分支命名以姓名命名:姓名首字母大写 如:Zhangsan、Lisi。,开发人员只需针对本分支进行提交推送即可。对于合并请求,需要在网页中。在发起合并请求菜单中选择审批人:一般为项目管理员。可以添加成员并邀请ta进项目组。双击远程服务器属于自己的分支。复制克隆地址,克隆到本地。从Develop分支拷贝。从已注册用户列表中选择。

2023-06-19 19:12:22 1200

原创 Gitlab 服务器搭建

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。

2023-06-19 00:43:46 1290

原创 Git工作流 仓库提交与合并

1. 初始化 master 分支,设置版本号 1.0.0,打标签 v1.0.0@soonfy_1.02. 从 master 分支克隆 develop 开发基础分支3. 从 develop 分支克隆 feature 开发新功能分支4. 在 开发人员 分支开发测试完成后,合并到 develop 分支5. 在 develop 分支测试完成后,合并到 release 分支6. 在 release 分支测试并修改文档后,合并到 master 分支,设置版本号 1.1.0,打标签 v1.1.0@soonfy_2.0。

2023-06-16 16:35:46 1405 1

原创 自定义控件的绑定属性

属性绑定可以快捷的实现后台数据与UI界面的同步,除了Winform自带的控件绑定属性,自定义控件如何编写可绑定的属性呢?

2023-06-15 15:26:56 560

原创 WinForm 自定义类型属性的设计器支持

通常winform系统类型变量,如 double、string、float等类型属性会被属性窗口自动识别添加,使得我们可以手动输入其值。但如果是自定义类型属性时,属性窗口却会灰掉,无法修改。这时需要自动应以类型转换TypeConverter。

2023-06-15 14:33:31 343

Label-studio ml 后端YOLOV8 objectdetection-OBB模型的Model.py文件

Label-studio ml 后端YOLOV8 objectdetection-OBB模型的Model.py文件。实现Label studio 半自动haul标注,教程参考:https://blog.csdn.net/weixin_42253874/article/details/142651429?sharetype=blogdetail&sharerId=142651429&sharerefer=PC&sharesource=weixin_42253874&spm=1011.2480.3001.8118

2024-09-30

VOTT-2.2.0 windows版本

VOTT(Visual Object Tagging Tool)是一款由微软开发的免费图像和视频标注工具,主要用于计算机视觉领域的对象检测、识别和追踪。VOTT-2.2.0-win32是该工具的一个版本,专为Windows 32位操作系统设计。这个压缩包包含的主要文件是vott-2.2.0-win32.exe,这是VOTT 2.2.0版的可执行程序,用于在Windows系统上安装和运行。 github上下载缓慢,建议从这里下载

2024-08-29

log4net二次日志封装.zip

对log4net工具包进行了二次封装,利用配置类和静态方法动态创建日志对象,可以设置日志名称、保存根目录、分支目录、日志文件大小、日志文件数量、日志保存时限等。 log4net 是一个高度灵活且强大的日志记录库,可用于记录应用程序的运行时信息。它支持各种日志输出格式和目的地,如文件、数据库、控制台等。传统用法我们需要手动配置log4net.config文件,这极大不利于我们对日志文件的管理和分类,今天就介绍一种封装方法,可以便于我们利用代码动态生成配置和创建日志文件并记录日志信息

2024-03-05

YOLOv7 从GitHub上下载下来的代码,根据之前的5版本对比debug了一下,可以测试本地视频了

YOLOv7 源代码 包含YOLOv7的模型.pt文件,可以利用该训练好的模型文件测试图片、视频等,也可以调用摄像头进行实时检测。速度和精度较之前版本都有很大提高.在5 FPS到160 FPS范围内的速度和精度达到了新的高度,并在GPU V100上具有30 FPS或更高的所有已知实时目标检测器中具有最高的精度56.8%AP。YOLOv7-E6目标检测器(56 FPS V100,55.9% AP)比基于Transform的检测器SWINL Cascade-Mask R-CNN(9.2 FPS A100,53.9% AP)的速度和准确度分别高出509%和2%,以及基于卷积的检测器ConvNeXt-XL Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) 速度提高551%,准确率提高0.7%。

2022-07-19

c# Winform 自定义控件 缩放不卡顿。最大可放大至65535。ROI绘制 矩形 圆形 ROI修改

前面通过Picturebox控制图片缩放平移,操作很顺滑,但是放大的时候发现一个问题,放大超过一定尺寸之后画面会非常的卡,可能重绘的面积比较大。 解决思路:放大的过程中,如果图像有超出窗口的部分,则把这部分图像给拆切掉,只显示需要的部分。

2022-05-06

c# Winform 自定义控件 8K大图显示,无限比例放大。ROI绘制 矩形 圆形 任意多边形,ROI修改

前面解决了缩放的问题,但用PictureBox显示图像时,受到控件大小的限制,图像的最大放大长宽是受限的:65535 解决思路:通过虚拟一个PictureBox画布 矩形画布 Canvas RectangleF类型,长宽无限制。 经过测试,显示8k的图像是没有问题的,8K大图显示,无限比例放大。ROI绘制 矩形 圆形 任意多边形,ROI修改

2022-05-06

pyqt5_tools-5.9.2.1.3-cp36-none-win_amd64.whl

pyqt5_tools-5.9.2.1.3-cp36-none-win_amd64.whl python3.6,64位

2020-12-30

PyQt5-5.9.2-5.9.3-cp35.cp36.cp37-none-win_amd64.whl

PyQt5-5.9.2-5.9.3-cp35.cp36.cp37-none-win_amd64.whl python3.5-3.7,64位

2020-12-30

cudnn-v7.6.5.32.rar

cudnn7.6.5 适用于cuda10 直接将文件解压,对应目录的文件直接放到cuda10的安装对应目录下

2020-07-31

tensorflow_gpu-2.0.0-cp36-cp36m-win_amd64.whl

Anaconda安装配置tensorflow2.0 +CUDA10+cudnn7.5.6 tensorflow_gpu-2.0.0-cp36-cp36m-win_amd64

2020-07-30

数字图像处理第三版pdf版-1积分

数字图像处理第三版pdf版-1积分,很好的数字图像处理入门级书籍

2018-12-14

51读写卡程序.zip

51读写卡程序.zip,MCS-51单片机IC卡读写源代码,可自行移植到其他单片机上,供练习使用,如STM32 51单片机

2018-11-21

EditPlus V2.12_改Liunx文件编辑器

EditPlus V2.12_改Liunx文件编辑器,你们一定也这么想过,linux上的黑框操作,一切的编辑工作,都是分外繁琐,有什么工具能不能帮我们更方便的编辑Linux上的文件,就像是在可视化的windows操作系统一样操作。用EditPlus就可以实现这一需求。

2018-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除