如何使用边界框在 C# 中填充矩形



我列出了边界框 X 左上角、Y 左上角、X 右上角、Y 右上角、X 右下角、Y 右下角、X 左下角、Y 左下角

需要在图像上创建填充矩形。

如何计算矩形的x,y,宽度和高度

使用过笔和绘图矩形

Bitmap bmp = (Bitmap)Bitmap.FromFile(imageFilePath);
Graphics g = Graphics.FromImage(bmp);
Pen snowPen = new Pen(Color.Black, width);
g.DrawRectangle(snowPen, x , y , width, height);

如何转换边界框数据以获得x,y,高度和宽度?

如果你在这里查看DrawRectangle的文档,知道 x 和 y 是如何表示的:

要绘制的矩形左上角的 x 坐标。

要绘制的矩形左上角的 y 坐标。

基于您提到的输入信息是:X top left, Y top left, X top right, Y top right, X bottom right , Y bottom right , X bottom left , Y bottom left

然后:

  • x= X 左上角
  • y = Y 左上角
  • 高度=(Y 左上角 - Y 左下角)或 Y 右上 - Y 右下角:如果您的边界框值是一个矩形,则值相等)
  • 宽度=(X 右上 - X 左
  • 上)或 X 右下 - X 左下:如果边界框值是矩形,则值相等)

言论:

  • 由于您没有提到边界框值是如何表达的(int?float?),请记住,这里的值应该是 int 值。
  • 如果边界框不是矩形,则应改用DrawPolygon

最新更新