【发布时间】:2010-09-15 06:08:28
【问题描述】:
给定两个图像缓冲区(假设它是一个大小为宽 * 高的整数数组,每个元素都有一个颜色值),我如何将由一个图像缓冲区中的四边形定义的区域映射到另一个(始终为正方形)图像缓冲?我被引导理解这称为“投影变换”。
我也在寻找一种通用的(不是特定于语言或库的)方法,以便它可以合理地应用于任何语言,而不依赖于“为我完成所有工作的魔法函数 X” .
一个示例:我使用处理库 (processing.org) 用 Java 编写了一个简短的程序,该程序从相机捕获视频。在初始“校准”步骤中,捕获的视频直接输出到窗口中。然后用户点击四个点来定义将要转换的视频区域,然后在程序的后续操作期间映射到方形窗口。如果用户在摄像机输出中单击定义以某个角度可见的门角的四个点,则此转换将导致后续视频将转换后的门的图像映射到窗口的整个区域,尽管有点扭曲。
【问题讨论】:
-
澄清请求:缓冲区是矩形,但被复制的区域是正方形?
-
目标区域是一个矩形,但源区域是一个潜在的非矩形四边形。
-
你有什么收获吗?
-
@CarlWitthoft 该链接没有,它指向 this 问题。
-
@MatthiasUrlichs 哎呀——对不起;在这么晚的日子里,我忘记了应该联系什么问题。已删除。