java - 如何在JAVA中使用控制点来合成图像?

标签 java image image-processing

我想实现的目标是在JAVA中拥有两个图像,为它们定义了控制点,我将能够基于这些控制点重叠并合成最终图像。

这意味着一个图像上的每个控制点与第二个图像上的控制点有直接关系,因此在合成两个图像时它们将完美匹配。

这种用法的一个例子可以是通过重叠和重新尺寸来让一个人穿着不同的衣服(衬衫的控制点与 body 上的控制点相匹配)。

问题是,正常的重新尺寸方法以“成比例”的方式重新尺寸图像,这仅意味着宽度和高度。我想以这种方式在图像上创建一些控制点:

enter image description here

这样我就可以根据这些控制点重新调整图像的尺寸。 有什么帮助吗?

最佳答案

您需要了解非刚性图像变形技术,有时称为图像变形或图像扭曲。请注意,它们需要大量数学知识才能理解,并且需要实现数值软件组件(尤其是良好的线性求解器)。

基于控制点的图像变形的经典方法是 Thin Plate Spline 。我找到original paper比维基百科条目更有利于实现。

This是一个带有一些其他技术的页面。

关于java - 如何在JAVA中使用控制点来合成图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20454592/

相关文章:

java - Websocket 消息传递间歇性

java - 组合键的 Jpa 映射

java - 通过单击更改 Android Studio 图像的颜色

c - 在 C 中处理 BMP 文件中的填充

遵循 3D 图像上的脊线路径的算法

Java多维散列/矩阵

java - Spring Security :Can not construct instance of org. springframework.security.core.userdetails.UserDetails

javascript - Angular 砌体中加载的图像顺序每次都会改变

c# - 将 jpeg 图像转换为十六进制格式

c++ - OpenCV C++/Obj-C : Detecting a sheet of paper/Square Detection