- 博客(259)
- 资源 (1)
- 收藏
- 关注

原创 C#版Halcon:HalconDotNet最详细最全面教程(万字详细总结)
Halcon是由德国MVTec Software GmbH公司开发的一款强大的机器视觉软件。自1996年发布以来,Halcon已经成为工业视觉领域的领导者,广泛应用于自动化检测、质量控制、机器人视觉、医学影像分析等多个领域。Halcon提供了丰富的图像处理和分析工具,支持多种编程语言接口,包括C#、C++、Python等,使得开发者可以轻松地将视觉功能集成到各种应用中。
2024-09-06 10:51:17
20672
167

原创 C#版VTK:ActiViz基础完整教程导航
ActiViz基础完整教程导航1. ActiViz中的灯光2. ActiViz中的相机3. ActiViz中的角色4. ActiViz中的管线机制5. ActiViz中的颜色映射表vtkLookupTable6. ActiViz中的数据对象vtkDataObject7. ActiViz中的数据对象vtkDataSet8. ActiViz中的单元类型9. ActiViz中的数据集vtkImageData10. ActiViz中的数据集vtkPolyData11. ActiViz中的数据集
2024-07-30 09:48:10
2975
85

原创 C#版OpenCV:OpenCVSharp 最详细最全面教程(万字详细总结)
OpenCVSharp 是一个用于 .NET 环境的 OpenCV 包装库,它提供了一种简便的方法来利用 OpenCV 的功能进行图像和视频处理。OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库,最初由 Intel 研发并发布。OpenCVSharp 让 C# 和其他 .NET 语言的开发者可以方便地访问 OpenCV 的强大功能。// 打印 OpenCV 版本信息Cv2。
2024-07-24 17:16:18
23514
86
原创 HalconDotNet 基础操作
HImage 是 HalconDotNet 中用于表示图像的数据结构。它可以存储各种类型的图像数据,如灰度图像、彩色图像等。HTuple 是一个多类型数据容器,可以存储不同类型的数据,如整数、浮点数、字符串等。HRegion 用于表示图像中的特定区域,例如目标物体的轮廓、感兴趣区域等。在 Windows Forms 应用程序中,可以使用 HWindowControl 控件来显示图像。HXLD 用于表示图像中的轮廓或多边形。它可以用于边缘检测、形状分析等任务。
2025-02-11 17:05:12
308
7
原创 OpenCVSharp 霍夫变换
霍夫变换计算复杂度较高,尤其是霍夫圆变换涉及三维参数空间。一方面,通过合理设置参数来平衡检测精度与计算速度,如在直线变换中调整 、 精度和阈值,圆变换中优化 、 等参数。另一方面,结合图像预处理,如降噪(高斯模糊、中值滤波等)、边缘增强(Sobel 算子、Scharr 算子等),能提高特征检测的准确性与效率,减少不必要的计算开销。
2024-12-26 11:25:32
404
5
原创 YoloDotNet 识别图像中特定关键点的位置
可以根据具体应用场景自定义关键点的绘制方式。例如,通过连接特定的关键点来描绘物体的轮廓,或者为不同类别的物体的关键点使用不同的形状(圆形、方形等)来绘制。对于关键点的坐标,还可以进行进一步的计算,如计算关键点之间的距离、角度等,用于姿态估计等更复杂的任务。
2024-12-25 16:10:25
172
5
原创 YoloDotNet 使用像素蒙版分离检测到的物体
像素蒙版通常是一个二进制图像(或者可以转换为二进制表示),其中物体所在区域为特定的值(如 1),背景区域为另一个值(如 0)。以下是一个简单的将像素蒙版应用于图像以分离物体的方法示例,假设mask是一个和image大小相同的byte类型的二维数组,其中 0 表示背景,1 表示物体。设置 YoloOptions 参数,包括模型路径、模型类型(如果是用于分割任务,可能是特定的分割模型类型)等。使用合适的图像库(如 SixLabors.ImageSharp)加载需要处理的图像。
2024-12-25 16:06:14
105
原创 YoloDotNet OBB(定向边界框)
OBB(Oriented Bounding Box)在目标检测中用于更精确地框定非水平或垂直放置的物体。与常规边界框不同,OBB 可以根据物体的实际方向进行框定,提供更准确的位置和形状信息。根据具体需求,可以自定义 OBB 的绘制方式。例如,使用不同的颜色来区分不同类别的物体,或者根据物体的置信度来调整边界框的线条粗细等。这可能涉及到更复杂的图形绘制和图像处理技巧。
2024-12-25 16:01:36
121
3
原创 YoloDotNet 在单幅图像中检测多个物体
通过以上步骤,就可以使用 YoloDotNet 在单幅图像中检测多个物体,并对检测结果进行相应的处理和展示。在实际应用中,可以根据具体需求进一步优化检测参数、图像绘制等部分的代码。调用 Yolo 对象的RunObjectDetection方法来检测图像中的物体,同时设置置信度阈值和交并比(IOU)阈值。和using YoloDotNet.Models;对detections列表进行遍历,该列表包含了图像中检测到的所有物体的信息。使用图像库的保存功能,将处理后的图像保存下来,以便查看检测结果。
2024-12-25 15:55:41
91
1
原创 YoloDotNet 图像分类
创建一个新的.NET 项目,如控制台项目。在命令行使用dotnet new console -n YoloImageClassificationProject(这里n后面是项目名称,可自定义)。设置 YoloOptions 参数,包括模型路径、模型类型为图像分类(ModelType.ImageClassification)等,然后创建 Yolo 对象。进入项目目录后,通过dotnet add package YoloDotNet添加 YoloDotNet 包。遍历分类结果并输出相关信息,如类别标签和得分。
2024-12-25 15:50:52
70
2
原创 YoloDotNet 对图像进行批量推理
遍历图像列表,对每张图像调用 YoloDotNet 的目标检测方法(如RunObjectDetection)来获取检测结果,并且可以根据需要对结果进行处理(例如在图像上绘制边界框、标注类别等)。运行 程序,会依次对批量图像进行目标检测推理,并根据处理代码将结果保存(例如保存绘制了边界框和标注了类别的图像到指定的输出文件夹)。将需要进行目标检测推理的所有图像文件整理到一个文件夹中,例如命名为images_to_infer,图像格式可以是常见的 JPEG、PNG 等格式。
2024-12-25 15:40:58
531
2
原创 Avalonia实例实战五:Carousel自动轮播图
将三张Png图片加载到项目中,在访问前,必须将路径添加到资源中,在csproject文件中加入:不使用avares:直接路径访问:使用avares:访问:如果资源在其他程序集中,可以采用avares访问,"PIMS"为程序集名称:二、使用Carousel控件官网示例:CS:实现的很简单,没有其他的属性;设置PageSlide滑动样式,左滑右滑。自定义控件:再增加一个Timer定时器去自动执行即可。注意:每次自定义控件,必须附带重写样式,因为原有的主题是基于Carousel原生控件的样式
2024-12-24 15:01:05
926
41
原创 Avalonia实例实战四:使用AutoCompleteBox自动补全框做用户名输入框
else自定义控件,添加鼠标按下事件来控制IsDropDownOpen属性。
2024-12-19 15:16:08
1177
5
原创 Avalonia实战实例三:实现可输入框的ComboBox控件
接着上篇关闭按钮实现登录界面实现一个可输入,可下拉的用户名输入框Avalonia中Fluent主题里ComboBox实现:查看源码:
2024-12-13 18:01:15
1265
8
原创 Avalonia实战实例一:使用Prism创建项目,并创建窗口
这里是Prism.DryIoc.Avalonia 8.1.97版本。这里安装的是Avalonia 11.2.1,.Net 6.0。安装完成,创建Avalonia项目。注意:不要删除FluentTheme。
2024-12-11 14:36:07
1069
4
原创 基于Fo-Dicom实现的MWL服务
放射科的成像设备工作列表(Modality Work List,MWL) 是一个包含患者检查信息的列表,这些信息通常来自 HIS 或 RIS。它被发送到放射科的成像设备,如 X 光机、CT 扫描仪、MRI 设备等,以指导设备操作人员进行检查。
2024-12-06 15:41:31
1739
59
原创 DICOM MPPS详细介绍
医院中现有的DICOM MWL(Modality Worklist)已开始逐渐得到应用,借助它可以实现病人信息的自动录入,减少了技师在设备控制台上再次输入病人信息的环节,从而大大降低了信息重复录入的工作量和输人错误的几率。
2024-12-04 15:32:02
1745
51
原创 OpenTK 实现三维空间模型仿真详解
代码里,借助 yaw(偏航角,控制水平旋转)和 pitch(俯仰角,把控垂直旋转)两个变量记录鼠标拖动产生的角度变化增量(依据 XDelta、YDelta 精准度量),一旦鼠标左键按下拖动,角度持续更新并触发 UpdateViewMatrix 方法,此方法先定义基础视图矩阵(模拟相机初始看向原点状态),再融合依据 yaw、pitch 生成的旋转矩阵,重塑视图矩阵,最后传递到着色器 view 统一变量中,实现相机视角跟随鼠标流畅旋转,从不同角度观察模型。
2024-11-26 16:55:43
1175
68
原创 HalconDotNet 实现颜色空间转换
这种转换在需要精确分析颜色特征的场景中非常有用,比如在印刷品颜色质量检测中,将图像转换到 LAB 空间后,可以更准确地计算印刷颜色与标准颜色之间的色差,从而判断印刷质量是否合格。这一转换过程保证了在 HSV 空间处理后的图像能够正确地转换回 RGB 格式,以满足不同应用场景对图像格式的需求,比如在一些图像处理软件中,用户在 HSV 模式下编辑图像后,需要将其转换回 RGB 格式进行保存或进一步处理。接着,对灰度图像进行了简单的阈值处理,将灰度值大于 128 的像素提取出来形成区域,并显示该区域。
2024-11-22 10:48:28
299
48
原创 HalconDotNet实现二维码识别的详细解析
二维码包含了特定的编码信息,按照其编码规则(如常见的 QR 码采用的是特定的纠错编码和信息编码方式),HalconDotNet 通过对定位区域内的图像像素进行分析,提取出编码信息对应的二进制数据,然后再根据编码规则将其转换为可读的文本或其他数据形式。同时,对于FindDataCode2d函数的参数设置,需要根据实际情况进行微调,比如在某些光照条件特殊的场景下,可能需要调整相关的阈值参数来提高定位的准确性。另外,不同类型的二维码可能具有不同的定位图案和特征,要确保使用正确的参数来指定要查找的二维码类型。
2024-10-30 10:49:35
1379
63
原创 OpenCVSharp中的线程访问冲突问题详解
在使用OpenCVSharp进行图像处理时,线程访问冲突问题是一项重要的关注点。多线程环境下操作同一数据结构或资源时,可能导致数据并发冲突。
2024-10-24 16:10:31
595
26
原创 OpenCVSharp在医学影像Dicom上的一些应用
在医学影像分析中,常常需要将不同时间或不同模态的图像进行配准和融合,以便更好地观察病变的发展和变化。基于特征的配准是通过提取图像中的特征点,然后根据特征点的位置关系来进行配准。此外,还可以使用 OpenCVSharp 进行图像的可视化处理,如绘制轮廓、标注病变等,以便更好地展示图像中的信息。同时,还可以使用 OpenCVSharp 进行图像的存储和读取,方便对医学影像进行管理和分析。通过对图像序列的处理,可以更加直观地展示病变的位置和形态,为医生的诊断和治疗提供帮助。
2024-10-24 15:49:50
1377
9
原创 YoloDotNet 图像目标检测功能详解
在使用 YoloDotNet 进行图像目标检测时,首先需要选择合适的模型。Yolo 有多个版本,如 YoloV5、YoloV8 等,每个版本又有不同的模型大小可供选择,如 small、medium、large 等。在 Visual Studio 中打开项目,选择 “工具”->“NuGet 包管理器”->“管理解决方案的 NuGet 包”。在搜索框中输入 “YoloDotNet”,选择合适的版本进行安装。安装完成后,在项目中添加对该库的引用。使用加载好的模型对预处理后的图像进行目标检测。
2024-10-15 18:14:20
520
34
原创 YoloDotNet 在工业检测中的应用详解
例如,对于电子产品的检测,可以收集不同型号的电路板图像,包括有缺陷和无缺陷的样本。数据标注是关键的一步,需要专业人员准确地标记出图像中的缺陷部位或特定的检测目标。同时,可以采用数据增强技术,如随机旋转、翻转、缩放等,增加数据的多样性,提高模型的泛化能力。将预处理后的图像输入到模型中进行检测,模型会输出检测到的缺陷或目标的类别、置信度和边界框信息。然后,读取待检测的工业产品图像,对图像进行预处理,如调整大小、归一化等。训练集用于模型的学习,验证集用于调整模型的超参数,测试集用于评估模型的最终性能。
2024-10-15 17:55:40
197
原创 YoloDotNet 在医学影像分析中的应用详解
在医学影像分析中,病变检测和定位是重要的任务之一。YoloDotNet 可以准确地检测出医学影像中的病变部位,并提供其位置信息。将 YoloDotNet 集成到医学影像分析系统中,可以提高诊断效率和准确性。对于医学影像分析,选择合适的 Yolo 模型至关重要。不同的医学影像任务可能需要不同的模型架构和参数设置。在使用 YoloDotNet 进行医学影像分析之前,首先需要准备合适的医学影像数据。对 YoloDotNet 在医学影像分析中的结果进行评估和分析是确保其准确性和可靠性的重要步骤。
2024-10-15 17:49:39
188
1
原创 YoloDotNet 的基本使用方法详解
YoloDotNet 的检测结果是一个 Detection 对象的列表,每个 Detection 对象包含了检测到的目标的类别、置信度和边界框信息。在上述代码中,首先加载了一张测试图像,然后将图像调整为 640x640 的尺寸,最后将调整后的图像输入到 YoloDotNet 模型中进行目标检测。在使用 YoloDotNet 进行目标检测时,可以进行一些性能优化和参数调整,以提高检测速度和准确性。在上述代码中,遍历检测结果列表,输出每个检测结果的类别、置信度和边界框信息。
2024-10-15 17:40:49
599
51
原创 YoloDotNet:强大的实时目标检测工具
YoloDotNet 是一个基于.NET 平台的目标检测工具,它集成了先进的 Yolo(You Only Look Once)算法,能够在短时间内准确地检测出图像或视频中的各种目标。高效性:YoloDotNet 采用了先进的深度学习算法,能够在毫秒级别内完成目标检测任务,适用于实时应用场景。准确性:经过大量的训练和优化,YoloDotNet 能够准确地识别出各种目标,包括人、车、动物等,具有较高的检测精度。
2024-10-15 17:31:03
1224
44
原创 OpenCVSharp实现视频前后景分离功能详解
在视频处理中,前后景分离是一个重要的技术,能够在复杂场景中提取出前景物体,这在监控、对象追踪、特效制作等方面有着广泛应用。
2024-10-14 11:28:44
1164
47
原创 OpenCVSharp实现文档扫描功能详解
实现文档扫描功能是一个涉及多个处理步骤的过程,通过OpenCVSharp可以高效完成。以下是实现文档扫描的五个主要步骤,每个步骤包含详细的解释及示例代码。通过上述步骤,我们实现了一个简单的文档扫描功能。使用OpenCVSharp进行文档扫描时,遵循图像的读取、预处理、轮廓查找、透视变换等步骤,可以有效提高文档的可读性和规整性。随着对文档处理需求的增加,还可以继续优化处理流程,例如添加更多的图像滤波,处理不同形状和大小的文档,以增强扫描效果。
2024-10-11 09:46:12
1103
9
原创 OpenTK实现模型变换和视图变换详解
在OpenTK中,模型变换和视图变换是图形编程中的两个基本概念,它们用于操作三维对象及设置观察场景的方式。下面是这两种变换的详细解释及其实现方法。在OpenTK中,通过使用变换矩阵来实现模型变换和视图变换是非常灵活的。模型变换主要负责对象在世界空间中的表现,而视图变换则决定了摄像机如何观察场景。理解这两种变换的相互独立和组合关系,对于3D图形编程至关重要。
2024-10-11 09:37:50
198
43
原创 OpenCVSharp使用DNN图像分类详解
OpenCV 的 DNN(深度神经网络)模块提供了加载和运行深度学习模型的能力,使得图像分类变得更为简单。通过 OpenCVSharp,我们可以在 C# 中使用 DNN 模块来进行图像分类。以下将详细介绍如何用 OpenCVSharp 中的 DNN 实现图像分类,以及所需的步骤和示例代码。DNN 模块允许我们在 OpenCV 中使用预训练的深度学习模型,也可以用于推理过程。通常,我们可以使用 Caffe、TensorFlow、Torch、ONNX 等框架训练模型,然后在 OpenCV 中进行加载和推理。
2024-10-10 09:49:26
998
7
原创 OpenCVSharp使用MeanShift图像分割详解
Meanshift 是一种基于密度的聚类算法,广泛应用于计算机视觉领域,特别是图像分割和目标跟踪。它的主要思想是通过数据点的密度来检测聚类中心,并且通过迭代的方式来移动窗体,使其逐渐趋向于数据的密集区域。此方法的优点在于其自适应特性,它不需要事先指定聚类的数量,而是根据数据分布自动生成。在图像处理方面,Meanshift 通常用于分割颜色相近或纹理相似的区域。通过将图像从 RGB 色彩空间转换为 HSV 或 LAB 色彩空间,能够增强颜色信息的表达,从而提高分割效果。
2024-10-10 09:30:45
1331
42
原创 Avalonia应用在国产Linux的deepin系统上运行
deepin(原名Linux Deepin)致力于为全球用户提供美观易用,安全可靠的 Linux发行版。deepin项目于2008年发起,并在2009年发布了以 linux deepin为名称的第一个版本。2014年4月更名为 deepin,在中国常被称为“深度操作系统”。截止到 2023 年,深度操作系统全球下载量超过 9000 万次,提供超过 33 种不同的语言版本,以及遍布六大洲的 140 多个镜像站点的下载服务。在全球开源操作系统排行榜上是排名最高的中国操作系统产品。
2024-10-09 17:33:06
1476
53
原创 Avalonia.Xaml.Behaviors开源库的使用
Avalonia.Xaml.Behaviors 是针对 Avalonia UI 的一个强大开源库,旨在提供可重用的 UI 行为,可以利用 XAML 文件来进行灵活的事件绑定和命令处理。以下是关于如何使用 Avalonia.Xaml.Behaviors 的详细教程,包括十个主要步骤。} }Avalonia.Xaml.Behaviors 提供了一种灵活和可扩展的方式来处理用户界面交互。以上十个步骤从安装、设置界面到创建自定义行为和组合行为,展示了如何有效地使用这个库。
2024-10-09 16:26:44
962
1
原创 HalconDotNet实现分水岭图像分割算法详解
分水岭算法是一种强大而有效的图像分割技术,在机器视觉和图像处理领域有着广泛的应用。以下是使用HalconDotNet实现分水岭图像分割的详细步骤,包含8个主要环节,每个环节都会附上详细的C#示例代码。以上代码展示了如何在HalconDotNet中实现分水岭分割的步骤。从图像读取到平滑处理、边缘检测、二值化、区域连接、分水岭分割、后处理,再到最后显示和保存结果。这一系列步骤提供了一个完整的图像处理管道,确保能够有效地分割图像中的不同区域。
2024-10-09 14:30:29
1134
5
原创 HalconDotNet实现区域生长算法详解
在HalconDotNet中,区域生长算法是一种常用的图像分割技术,能够根据像素的相似性逐渐扩展区域。区域生长方法通常用于提取图像中的特定对象或者特征,实现分割与分析。以下将详细探讨区域生长算法的各个步骤,包括图像预处理、种子点选择、区域生长、后处理及应用实例。每个步骤都有详细的介绍和相应的C#示例代码。
2024-09-27 15:50:38
1588
18
iflytek TextBrewer Ner任务的增强版,TextBrewer是一个基于pytorch的、为实现NLP中的知识蒸馏任务而设计的工具包
2024-11-22
WPF中WindowsFormsHost的内存释放问题
2023-02-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人