自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (1)
  • 收藏
  • 关注

原创 随性研究c++-智能指针

适用于独占所有权的场景,确保对象在任何时候只有一个所有者。:适用于共享所有权的场景,多个指针可以共享同一个对象。:适用于解决循环引用问题,或者在不影响对象生命周期的情况下观察对象。

2025-04-01 23:13:01 49 1

原创 C++和C#接口对应关系

这是一个代码契约特性,表明 UCV_Base_Object_GetName 函数属于纯函数,即它不会对系统状态产生影响,并且对于相同的输入总是返回相同的输出。IntPtr 用于表示指针或句柄,这里的 self 参数是一个指向某个对象的指针,函数返回一个指向对象名称字符串的指针。需要注意的是,在实际使用中,要根据具体的函数调用和数据传递情况选择合适的类型转换,同时要考虑内存管理和数据范围等因素。特性的这些属性,你能够精确控制结构体的内存布局,确保在和非托管代码交互时数据的正确传递。

2025-04-01 23:01:44 78

原创 c# 虚函数、接口、抽象区别和应用场景

虚函数:虚函数在基类里定义,使用virtual关键字,且有默认的实现。派生类可使用override关键字对其进行重写。Console.WriteLine("基类方法的实现");Console.WriteLine("派生类重写的方法实现");接口:接口是一种引用类型,用interface关键字定义,其中只包含方法、属性、事件或索引器的签名,不存在具体实现。类使用符号来实现接口。Console.WriteLine("实现接口方法");抽象函数:抽象函数在抽象类中定义,使用abstract。

2025-04-01 22:59:37 97

原创 Wpf Avalonia-实现中英文切换工程

【代码】Wpf Avalonia-实现中英文切换工程。

2025-03-20 17:38:49 243

原创 WPF Reactive 数据绑定

【代码】WPF Reactive 数据绑定。

2025-03-19 19:44:41 191

原创 wpf_ReactiveUI_Observable

在.NET 中,Observable 是 Reactive Extensions(Rx)库的核心概念之一,它代表一个可观察的序列,用于实现响应式编程。Observable类提供了许多静态方法来创建和操作可观察序列,同时可观察序列本身也有一些属性和方法。

2025-03-11 16:25:21 194

原创 git使用命令总结

git

2025-03-11 11:10:22 565

原创 读书会-c#并发编程

其中的代码尽量自己敲一遍有助于理解。

2025-03-08 18:20:19 110

原创 Wpf-ReactiveUI-Usercontrol与主界面交互

实现 UserControl 与主界面的信息交互,本章主要是主界面有多个使用usercontrol。

2025-03-05 00:05:16 325

原创 WPF-Avalonia-ReactiveUI-路由实践

创建一个新的 Avalonia 项目,通过 NuGet 包管理器安装 ReactiveUI 和 ReactiveUI.Avalonia。依赖ReactiveUI 和 ReactiveUI.WPF。

2025-03-04 23:35:36 76

原创 C#使用技巧

【代码】C#使用技巧。

2025-02-28 11:02:12 173

原创 WPF-ReactiveUi详解

set?

2025-02-28 09:32:20 416

原创 WPF-Avalonia实践一两个页面的相关传递

在视图模型中定义一个 Interaction 类型的属性,指定输入和输出的类型Interaction 是 MVVM 模式中实现视图和视图模型之间交互的一种有效方式,它保持了两者之间的解耦性,使得代码更易于维护和测试。不同的框架可能对 Interaction 的实现方式略有不同,但基本原理是相似的。

2025-02-24 18:15:14 273

原创 C#-05-模板驱动生成类型和数据驱动

可以编写行为类似于扩展其他库中可能有的类型的功能。模式的另一个用途是,创建应用程序需要的功能,但此功能不是要扩展的类型的基本功能。

2025-02-21 16:24:43 105

原创 c#-04如何模式匹配以及 is 和 as

当变量的运行时值为 null 时,用于检查类型的 is 语句始终返回 false。上述示例中的 is 模式不局限于可为空的值类型。也可以使用这些模式测试引用类型的变量具有值还是为 null。由于是多态对象,基类类型的变量可以保存派生类型。前面的示例还演示了如何使用 as 运算符将对象转换为指定类型。如果需要测试变量是否为给定类型,但不将其分配给新变量,则可以对引用类型和可以为 null 的值类型使用 is 和 as 运算符。前面的示例还演示如何在变量为其他类型的 switch 语句中使用类型模式。

2025-02-21 13:44:17 111

原创 C#-03-类继承

派生类还可以通过提供重写实现代码来重写继承的成员,基类成员必须标注有virtual关键字,才能重写继承的成员。//会生成编译器错误 CS0506:“<member> 无法重写继承的成员 <member>,因为继承的成员没有 virtual、abstract 或 override 标记。在某些情况下,派生类必须重写基类实现代码。标记有 abstract 关键字的基类成员要求派生类必须重写它们。

2025-02-21 09:52:01 128

原创 C#-02异常处理

C# 语言的异常处理功能有助于处理在程序运行期间发生的任何意外或异常情况。异常处理功能使用 try、catch 和 finally 关键字来尝试执行可能失败的操作、在你确定合理的情况下处理故障,以及在事后清除资源。公共语言运行时 (CLR)、.NET/第三方库或应用程序代码都可生成异常。异常是使用 throw 关键字创建而成。在许多情况下,异常并不是由代码直接调用的方法抛出,而是由调用堆栈中再往下的另一方法抛出。

2025-02-18 15:50:49 22

原创 c# -01新属性-模式匹配、弃元、析构元组和其他类型

is 表达式”目前支持通过模式匹配测试表达式并有条件地声明该表达式结果。“switch 表达式”允许你根据表达式的首次匹配模式执行操作。这两个表达式支持丰富的模式词汇。就像使用元组一样,可使用弃元来忽略 Deconstruct 方法返回的选定项。名为“_”的变量表示弃元。单个解构操作可以包含多个弃元fNamecity }!");citycity }!");

2025-02-18 13:53:39 123

原创 Avalonia-wpf介绍

*定义:**通常是指在软件开发中,尤其是在 Avalonia UI 框架等相关技术里,用于创建具有实验性亚克力效果边框的类。作用:用于实现带有特定效果的边框,比如模拟 Windows 10 系统中的亚克力模糊效果,为用户界面增添独特的视觉风格,使界面元素的边框呈现出半透明、模糊等亚克力材质特有的外观效果。使用示例在 Avalonia UI 中,可以在 XAML 文件中使用。

2025-02-11 16:18:34 266

原创 WPF-01理解XAML

Padding属性是Thickness结构类型,可用于多种 UI 元素,如Button、TextBox、Border等。它为元素的内容在各个方向(上、下、左、右)提供了额外的空间,从而影响元素的内部布局。[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c753ef8575054ecb98c1473c1629feed.png)Foreground="White"或者Foreground="white"具有相同效果。创建一个名称空间的类型示例,可使用名称空间前缀。

2025-01-14 14:58:04 354

原创 WPF ——开源MVVM模式框架简介

Xamarin.Forms 允许通过自定义渲染器实现平台特定的 UI 行为。复制typeofButton复制 [ assembly : ExportRenderer(typeof(Button) , typeof(CustomButtonRenderer)) ] namespace MyApp . Droid {if(Control!

2025-01-09 16:25:43 452

原创 Opencv-C++笔记 (23) :图像特征提取(Harris角点检测、Shi-Tomasi角点检测、自定义角点检测)

基于Harris与Shi-Tomasi角点检测首先通过计算矩阵 M MM 得到 λ 1 , λ 2 两个特征值根据他们得到角点响应值然后自己设置阈值实现计算出阈值得到有效响应值的角点位置使用 OpenCV 函数 cornerEigenValsAndVecs 来计算像素对应的本征值和本征向量来确定其是否是角点。使用OpenCV 函数 cornerMinEigenVal 通过最小化本征值来进行角点检测。

2025-01-06 17:01:33 1167

原创 QT-简单视觉框架代码

CameraInterface:定义相机操作的抽象接口,确保不同相机厂商实现的兼容性。HikCameraWorker:继承自CameraInterface,实现海康相机的具体业务逻辑,包括连接、取图、断线重连、手动触发等。MainWindow:主窗口类,负责创建界面,集成菜单栏、工具栏、状态栏、图像显示区和日志区,响应用户操作并与业务逻辑层交互。ImageViewerWidget:自定义图像显示部件,封装 QGraphicsView 和QGraphicsScene,负责接收并展示图像数据。

2024-12-23 14:45:13 361

原创 c++类型转换、智能指针以及void *的讲解

c++ c++中的类型转换: const_cast,static_cast,dynamic_cast,reinterpret_castc++中的智能指针:auto_ptr、shared_ptr、weak_ptr、 unique_ptr,void *之间的区别。

2024-12-23 13:22:25 132

原创 QT创建一个模板槽和信号刷新UI

在Qt中,若您想设计一个仅含一个信号和槽函数框架,用以刷新UI上多个类型相同但可能属性各异的控件,我们可以借助QVariant的灵活性来传递不同种类的数据,同时利用控件的名称或某种标识符来区分应更新的具体控件。

2024-12-22 22:38:57 177

原创 图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

arg name="device_id" default="207000106930" /> //制定相机ID //左右灰度图像曝光完全同步开关 //设置深度图和彩色图对齐开关device_id 默认值为 #1,表示默认打开找到的第一个相机。

2024-12-17 17:28:34 1177 3

原创 Opencv-C++笔记 (22) :opencv-contrib 扩展模块编译

③找到 OPENCV_EXTRA_MODULES_PATH 变量,选择我们刚才下载的opencv_contrib安装包里的modules文件夹。如果这个变量为空,只是安装了OpenCV的基础版。包含目录:D:\opencv_build\install\include,D:\opencv_build\install\include\opencv2。① (可选) 勾选 BUILD_opencv_world 主要是把所有的lib文件都弄到一个opencv_world450d.lib中方便配置。

2024-08-22 16:28:25 1058

原创 Opencv-C++笔记 (21) :傅里叶变换

2、从频域角度分析:不在是以时间为参照物了,而是这个事情的频率,1分钟放1块冰糖,2分钟放3粒红豆,3分钟放2粒绿豆,4分钟放4块西红柿,5分钟放1杯水。1、从时域分析:就是六点零一放了1块冰糖,3颗红豆,2颗绿豆,4块西红柿,1杯纯净水,六点零二放了1块冰糖。随着时间的变化一直在变化。结论:傅里叶变换后的白色部分(即幅度大的低频部分)表示图像中快变化的特性或者说是灰度变化缓慢的特性(低频部分)。傅里叶变换后的黑恶部分(即幅度低的高频部分),标识图像中快变化的特性,或者说是灰度变化快的特性(高频部分)。

2024-08-20 18:18:10 1009

原创 Opencv-C++笔记 (20) : 距离变换与分水岭的图像分割

在 O p e n C v OpenCvOpenCv 中算法不从最小值开始增长,可以将相对较高的灰度值像素作为起始点(需要用户手动标记),从标记处开始进行淹没,则很多小区域都会被合并为一个区域,这被称为基于图像标(mark)的分水岭算法。cv2.distanceTransform计算的是图像内非零值像素点到最近的零值像素点的距离,即计算二值图像中所有像素点距离其最近的值为 0 的像素点的距离。在使用cv::watershed函数进行分水岭算法分割时,需要先进行前期处理,包括图像的预处理和创建标记图像。

2024-08-20 09:44:41 1280

原创 Windows11 -MASKRCNN-部署测试

detectron2/detectron2/layers/csrc/nms_rotated/nms_rotated_cuda.cu” 文件中#include “…需要配置好相应版本的NVIDIA驱动、CUDA、Pytorch、visual studio,visual stdio2019是为了配置gcc g++的。编译的时候,我们遇到了“command ‘…/bin/nvcc.exe’ failed with exit status 1”,修改策略。可以查询自己的nvcc-v查询自己cuda版本,查看。

2024-08-15 23:23:51 231

原创 ubuntu18.04.6配置编译图漾python库

通过源码安装,我们可以安装指定版本的cmake。cmake官方为我们提供了各个版本的源码包,https://cmake.org/files/使用 git 指令获取本地副本:打开终端,切换到需存放 SDK 的工作目录下,输入 git clone 命令克隆远程仓库。对于 Linux 系统,可以使用包管理器安装,如:sudo apt-get install libssl-dev。根据界面提示切换至目录 /usr/local/PYTHON 并运行生成的 python 文件即可。当前测试是4.2.1。

2024-08-14 14:31:02 518

原创 光学滤光片专业术语和图示说明

带通滤光片的透过率曲线显示在特定波长范围内有高透过率,而在其他波长范围内透过率接近零。短波通滤光片的透过率曲线显示在特定波长以下有高透过率,而在该波长以上透过率接近零。长波通滤光片的透过率曲线显示在特定波长以上有高透过率,而在该波长以下透过率接近零。偏振滤光片的透过率曲线显示在特定偏振角度下有高透过率,而在其他角度透过率降低。中性密度滤光片的透过率曲线显示在所有波长范围内透过率均匀降低。定义:半带宽是指滤光片透过率达到最大值的一半时对应的波长范围。定义:中心波长是指带通滤光片透过率最高的波长。

2024-07-24 23:56:01 1077

原创 机器人-新松

【代码】机器人-新松。

2024-06-24 09:39:04 557

原创 Opencv-C++笔记 (19) : 分水岭图像分割

分水岭分割 opencv

2023-11-28 22:46:00 2381

原创 图像相机-相机属性SDK汇总设置

123131

2023-11-08 17:38:02 971

原创 C++ Primer (第五版)-第十二章 动态内存

c++ primer 摘录

2023-10-11 11:25:22 341

原创 Opencv-C++笔记 (18) : 轮廓和凸包

首先选择Y方向最低的点作为起始点p0。从p0开始极坐标扫描,依次添加p1….pn(排序顺序是根据极坐标的角度大小,逆时针方向)。对每个点pi来说,如果添加pi点到凸包中导致一个左转向(逆时针方法)则添加该点到凸包,反之如果导致一个右转向(顺时针方向)删除该点从凸包中。InputArray points,// 输入候选点,来自findContoursOutputArray hull,// 凸包bool clockwise,// default true, 顺时针方向。

2023-08-29 18:17:02 2185

原创 PyQt5 多线程和异步刷新UI

PYQT

2023-08-23 15:07:57 2483

原创 Opencv-C++笔记 (17) : 模板匹配

通过得到的结果我们发现我们的模板匹配好像匹配区域与模板的尺寸是一致的,由此很容易产生误差,或是得到并不理想的区域,而在实际生活中,由于待测图像与摄像头之间的距离的变换,模板的大小因素的影响,若是想要得到较好的匹配结果,则需要我们实现自适应尺寸的模板匹配;由此,我们开始进行自适应尺寸的模板匹配,载入的模板图像,另其进入循环,每次循环缩放一定的比例,在进行模板匹配,最终我们得到了不同比例下的ROI区域,对所有的ROI区域与我们的模板图片进行相似度的比较,选出相似度最高的匹配图像,同时获得最佳的匹配比例;

2023-08-15 13:16:02 3079

原创 Opencv-C++笔记 (16) : 几何变换 (图像的翻转(镜像),平移,旋转,仿射,透视变换)

opencv

2023-08-04 17:44:15 5090 1

空空如也

空空如也

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

TA关注的人

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