Java 如何从边界框值计算x、y坐标

Java 如何从边界框值计算x、y坐标,java,coordinates,bufferedimage,bounding-box,Java,Coordinates,Bufferedimage,Bounding Box,我想在java中使用BuffereImage.getSubimage(x,y,width,height)函数,使用图像的x,y坐标裁剪图像。但我只有一个图像的边界框来裁剪它的一部分 如何使用java从边界框中获取x,y坐标?有什么计算方法吗 我给出了边界框值(xMin,yMin,xMax,yMax)(0.46476197,0.46967554,0.8502463,0.67080903) 如何使用java从边界框中获取x,y坐标?有 有什么计算方法吗 如果计算的边界框坐标与图像分数相对应,则首先必

我想在java中使用BuffereImage.getSubimage(x,y,width,height)函数,使用图像的x,y坐标裁剪图像。但我只有一个图像的边界框来裁剪它的一部分

如何使用java从边界框中获取x,y坐标?有什么计算方法吗

我给出了边界框值(xMin,yMin,xMax,yMax)(0.46476197,0.46967554,0.8502463,0.67080903)

如何使用java从边界框中获取x,y坐标?有 有什么计算方法吗

如果计算的边界框坐标与图像分数相对应,则首先必须计算xMin、xMax、yMin和yMax的像素值

使用这些函数可以很容易地计算buffereImage.getSubimage(x,y,width,height)函数所需的参数。

x和y对应于边界框的左上角,因此:

x=xMin
y=yMin

可以使用图像宽度计算长方体的宽度,并减去指向长方体的左侧空间长度以及长方体结束处的右侧空间长度,因此可以使用以下公式计算长方体的宽度:

width=imageWidth-xMin-(imageWidth-xMax)

高度也一样,只需使用y坐标即可:


height=imageHeight-yMin-(imageHeight-yMax)

为什么边界框值是实值?它们对应什么?@TA:我猜真实值是整个图像的一部分。换句话说,如果图像的宽度是600像素,你可以将x值乘以600得到x像素。谢谢Gilbert。我通过分别乘以图像的宽度和高度得到x和y值。我在公式中应用了这些值。
I am multiplying bounding box values with image width and height respectively to get its pixel values. 

int y1 = yMin * ImageHeight;
int x1 = xMin * ImageWidth;
int y2 = yMax * ImageHeight;
int x2 = xMax * ImageWidth;

And applied the values to below given formula

BufferedImage.getSubimage((int)x1, (int)y1, (x2-x1), (y2-y1));

Thanks gilbert for giving solution to get pixel values.