如何将 3D 变换应用于图像
How can I apply 3D-transformations to an image?
我正在尝试(在代码中)获取图像文件并对其应用三维转换(思考:透视)。
我正在开发的应用程序是用 C# 编写的,我已经查看了有关倾斜/旋转图像的 MSDN 信息。 不幸的是,这还不够控制 - 我需要GIMP/Photoshop提供的"透视"工具提供的功能。
我已经在使用 P/Invoke 调用以下 DLL C++(将它们从 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)和其他库,如果需要的话,来完成我需要做的三维转换。
有人有什么建议吗? 我对其他想法持开放态度,但真的很喜欢使用这些开源库来获得工作
Open CV具有warpPerspective功能,完全符合您的需要。对于使用 C# 工作,您可以考虑 Emgu.cv OpenCV 的 c# 包装器。
相关文章:
- c++r值引用应用于函数指针
- 如何将记忆应用于此递归函数?
- atoi() 在应用于大型命令行参数时会产生不正确的值
- 运算符'<'不能应用于类型 'string' 和 'string' 的操作数
- 应用于运算符而不是构造函数的显式关键字
- 我们可以将阈值应用于色彩空间模型的单个组件(如 RGB 和 LAB)吗?
- 应用于无符号类型的一元减号运算符
- C++函数,它将数组、谓词和运算符作为参数,并将运算符应用于满足谓词的数组元素
- 我可以将c ++清理器仅应用于程序的一部分而不是第三方库吗?
- 您可以将binary_search应用于具有自定义类型的矢量吗?
- 如何在OpenGL中将纹理应用于子网格
- 将高斯模糊应用于灰度图像
- 二项式模糊图像过滤器将内核应用于图像
- 将功能应用于图像的每个像素
- 如何使用LEADTOOLS 19将图像效果应用于内存缓冲区中的JPEG
- 如何将 3D 变换应用于图像
- OpenCV将我自己的过滤器应用于彩色图像
- OpenCV 项目在将直方图应用于黑色图像时崩溃
- 将中值剪切颜色缩减算法的输出调色板应用于源图像
- 如何将灰度效果应用于位图图像