1

我正在尝试(在代码中)获取图像文件并对其应用三维变换(想想:透视)。

我正在处理的应用程序是用 C# 编写的,我已经查看了有关倾斜/旋转图像的MSDN 信息。不幸的是,这还不够控制——我需要 GIMP/Photoshop 提供的“透视”工具提供的功能。

我已经在使用 P/Invoke 来调用以下 C++ DLL(将它们从 GIMP /bin 文件夹中取出)以获取其他图像功能:

[DllImport("libgobject-2.0-0.dll", SetLastError = true)]
[DllImport("librsvg-2-2.dll", SetLastError = true)]
[DllImport("libgdk_pixbuf-2.0-0.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]

这种方法似乎很适合我需要做的事情(光栅化矢量图像),并且它将所有代码保留在应用程序中(我宁愿不必走命令行路线——我知道 GIMP 可以编写脚本,但这是目前的最后手段)。

我想找出一种方法来使用这些库(libgdk-pixbuf-2.0、libgobject)和其他库(如果需要)来完成我需要做的三维转换。

有人有什么建议吗?我对其他想法持开放态度,但真的很喜欢使用这些开源库来完成工作的想法

4

1 回答 1

1

Open CV 具有完全符合您需要的warpPerspective功能。对于在 C# 中工作,您可以考虑将Emgu.cv ac# 包装到 OpenCV。

于 2013-11-07T23:15:45.897 回答