我开发了一个数字/科学应用程序,它使用Scipy.ndimage
Python 中的图像处理例程执行一些步骤,现在我需要将此功能移植到 Visual Studio 2010 中的 C#。
问题是,在 Scipy/Numpy 中,我将图像转换为灰度,然后在加载后立即转换为浮点数组,并执行每个操作(模糊、亮度/对比度、伽马校正、相乘和合并、中心- 质量检测和许多其他)在浮点空间中以增加精度。我不需要保存生成的图像,只需从中提取派生的位置数据(尽管如果需要,我可以轻松地转换回来并再次保存为图像)。
我开始研究 AForge.NET,但大多数操作似乎都在灰度 8bpp 或最多 16bpp 上。
因此,我有三个选择:
- 找到一些具有浮点图像格式和方法的库;
- 将图像转换为
double[,]
(不知道如何从System.Drawing.Bitmap
),并浪费大量时间尝试从其他数值库中获取所需的方法; - 继续使用 16bpp 灰度,并接受它,尽管我有充分的理由认为它可能会降低我的结果质量。
非常欢迎任何帮助或见解,谢谢。