在 .NET 中用于图像处理的类/命名空间

本文关键字:命名空间 图像处理 NET 用于 | 更新日期: 2023-09-27 17:57:06

我已经用Python/Numpy/Scipy中的一些图像处理算法制作了一个库的原型,现在我想将代码移植到C#和WPF。

我已经意识到,虽然输入文件是图像(照片),但从概念上讲,对我的领域问题来说重要的是它们是浮点数的二维数组,我执行的操作(灰度转换、模糊、斑点检测、骨架化)甚至持久性,最好在浮点"空间"中执行,而不是在整数空间(通常意味着字节 - uint8 -)。

所以,我看了一下 .NET 命名空间,有很多"绘制"这个,"成像"那个,"媒体"的东西,我完全困惑了。

因此,问题是:哪个.NET类是浮点图像处理中最明显和最常用的"图像数据容器"。

我知道 AForge,但由于我正在学习 C# 并且此时我的图像处理需求并不那么繁重,我想给本机 .NET 一个机会(但无论如何这可能是一个坏主意,所以请告诉我是否是)。

在 .NET 中用于图像处理的类/命名空间

基于您已有的内容,为什么不寻找您在 Python 中使用的相同库,而是寻找 C#/.NET 的库? 例如,对于数值计算,请查看:

项目:http://numerics.mathdotnet.com/

示例:https://github.com/mathnet/mathnet-numerics/tree/master/src/Examples

对于图像处理的示例,也许查看 Paint.NET 的源代码(其最新的开源版本 - openpdn Fork Paint.NET 3.36.7)可能会让您了解用于图像的库:

http://code.google.com/p/openpdn/source/browse/#hg%2Fsrc

这两个库都采用 C# 格式。