当前位置:  开发笔记 > 编程语言 > 正文

.NET中的非仿射图像转换

如何解决《.NET中的非仿射图像转换》经验,为你挑选了2个好方法。

是否有.NET库中的任何类,方法或任何算法,以执行非仿射变换?(即不仅涉及旋转,缩放,平移和剪切的转换)

例如:

替代文字

替代文字
(来源:last100.com)


是否存在非仿射变换的另一个术语?



1> Coincoin..:

我不知道.Net中集成了任何内容,可以让你进行非仿射变换.

我想你正试图进行某种3D纹理映射?如果是这种情况,你需要一个同质的仿射变换,这在.Net中是不可用的.我也不知道在.Net中进行像素位移变换的任何集成方法.

但是,目前投票的解决方案可能对您要做的事情有好处,只要注意它不会开箱即用.

例如:

替代文字

左边的图片是使用Neil N提供的单个四边形扭曲库生成的.右边的图片是使用DirectX中的单个四边形(实际上是两个三角形)生成的.

这可能对你要做的事情没有任何影响,但如果你想做3D东西,这是要记住的,如果没有透视正确的映射,它会显得很奇怪.



2> Neil N..:

您发布的所有示例图像都可以使用四边形失真来完成.虽然我无法确定四边形失真会涵盖所有非仿射变换.

下面是C#中一个不太好的实现的链接...它有效,但速度很慢.在维基百科周围寻找可用于这些计算的许多不同优化

http://www.vcskicks.com/image-distortion.html

-Neil

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有