【发布时间】:2013-02-01 15:53:32
【问题描述】:
我已经在 Python/Numpy/Scipy 中构建了一个包含一些图像处理算法的库的原型,现在我想将代码移植到 C# 和 WPF。
我已经意识到,虽然输入文件是图像(照片),但从概念上讲,对我的领域问题很重要的是它们是浮点数的二维数组,以及我执行的操作(灰度转换、模糊、斑点检测、骨架化) ,甚至持久性,最好在浮点“空间”中执行,而不是在整数空间中(通常意味着字节 - uint8 -)。
所以,我查看了 .NET 命名空间,其中有很多“绘图”这个、“成像”那个、“媒体”之类的东西,我完全糊涂了。
那么,问题来了:对于浮点图像处理,哪个 .NET 类是最明显和最常用的“图像数据容器”。
我知道 AForge,但由于我正在学习 C#,并且我的图像处理需求在这一点上不是很重,我想给原生 .NET 一个机会(但无论如何这可能是个坏主意,所以如果是,请告诉我)。
【问题讨论】:
-
好问题。我见过的最快访问是通过获取指向位图字节的指针......所以也许将这些字节读取/翻译成新数组中的浮点空间,然后对结果数组进行操作。
-
为什么不直接使用浮点数组 www.codeproject.com/Articles/34041/Convert-the-image-to-float-float-T-T-data-fast-and
-
@user629926 我想可能有一些图像类具有与基本图像处理相关的“嵌入式”有用方法。如果我使用纯原始数组,也许我必须自己实现这些方法。并且还需要知道 C# 中最广泛的图像处理所使用的首选类。
标签: c# .net image image-processing multidimensional-array