2012-10-04 49 views
0

我有Python代码,将图像打开为灰度图,将图像转换为numpy浮点数组,对其执行大量数学运算,然后进行归一化并将其转换为二进制图像(每像素1位),再次将其保存到磁盘(PNG文件)。将图像转换为浮点数组并返回到.NET

我应该使用哪些.NET类(优选)来执行类似的操作?

下面是我的Python代码的一个子集:

im = Image.open(in_name) 
a = numpy.asarray(im.convert('L'), dtype=float) ## implicit conversion to grayscale 

## lots of element-wise arithmetical operations with 'a' 
## and other similar-shaped arrays from other images 

out_im = Image.fromarray(a.astype('uint8')).convert('1') 
out_im.save(out_name) 

回答

0

有2种方式来做到这一点。您需要XNA或DirectX才能执行任一操作。

在XNA Texture2D对象中包含GetData和SetData方法,它们可以根据需要进行操作。

您还可以使用Texture2D上的HLSL像素着色器来处理它。您可以更改渲染目标以渲染到另一个保存为图像文件的Texture2D。

第二个将是最快和最有效的,第一个将是最简单的。

相关问题