我在Python中有代码将图像打开为灰度,将其转换为numpy float数组,对其执行大量数学运算,然后将其标准化并将其转换为二进制图像(每像素1位),将其保存为再次磁盘(PNG文件)。
我应该使用哪些.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 :(得分:0)
有两种方法可以做到这一点。你需要XNA或DirectX才能做到。
在XNA Texture2D对象中包含GetData和SetData方法,它们可以执行您想要的操作。
您还可以在Texture2D上使用HLSL像素着色器来操作它。您可以更改渲染目标以渲染到另一个保存为图像文件的Texture2D。
第二个是最快和最有效的,第一个是最简单的。