Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 围绕x轴倾斜缓冲器图像_Java_Image Processing_Bufferedimage_Jai - Fatal编程技术网

Java 围绕x轴倾斜缓冲器图像

Java 围绕x轴倾斜缓冲器图像,java,image-processing,bufferedimage,jai,Java,Image Processing,Bufferedimage,Jai,我的项目:我正在从一个int[]创建一个地图/地形,输出是一个缓冲图像 问题:我想将缓冲图像向后倾斜25度(关于x轴) 也就是说,我想将其转换为: _____ | | | | | | ----- 像这样的事情 ____ / \ / \ / \ ---------- 我正在看,听上去JAI的透视变换可能会奏效 问题:如何将透视变换应用于缓冲图像?这是将图像向后倾斜的正确方法吗?我认为您需要Java3d,或者自己进行计算。基本

我的项目:我正在从一个
int[]
创建一个地图/地形,输出是一个
缓冲图像

问题:我想将
缓冲图像
向后倾斜25度(关于x轴)

也就是说,我想将其转换为:

 _____
|     |
|     |
|     |
 -----
像这样的事情

   ____
  /    \
 /      \
/        \
----------
我正在看,听上去JAI的
透视变换
可能会奏效


问题:如何将
透视变换
应用于
缓冲图像
?这是将图像向后倾斜的正确方法吗?

我认为您需要Java3d,或者自己进行计算。基本上,您可以使用纹理对平面进行三维旋转。

查看JHLAB过滤器:

尤其是“透视过滤器”

编辑:

此代码将从以下内容转换图像:

对此:

看起来它可能有潜力,可以试一试。我会暂时接受这个答案,谢谢。
public void perspective() throws Exception{
    BufferedImage srcImage = ImageIO.read(new File("flower.jpg"));
    BufferedImage destImage = null;

    int w = srcImage.getWidth();
    int h = srcImage.getHeight();

    PerspectiveFilter perspectiveFilter = new PerspectiveFilter();
    perspectiveFilter.setCorners(w/4, 0, w-w/4, 0, w, h, 0, h);     
    destImage = perspectiveFilter.filter(srcImage, destImage);

    ImageIO.write(destImage,"jpg",new File("modified_flower.jpg"));
}