Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

Tôi có tọa độ của hai hộp giới hạn. Tôi muốn so sánh chúng. Làm thế nào tôi có thể tính toán khu vực của mỗi hộp?

Coordinates:

   Box1 : 0.20212765957446807 0.145625 0.24822695035460993 0.10875
   Box2:  0.15212765957446807 0.145625 0.25822695035460993 0.8875

overlaping_bbox_area1/bbox_area_image_2

Một đại lượng cho biết nếu các bbox trong avarerage lớn hơn hoặc nhỏ trong hình ảnh so với hình ảnh hai.

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

Miki

40.1K13 Huy hiệu vàng119 Huy hiệu bạc200 Huy hiệu đồng13 gold badges119 silver badges200 bronze badges

Hỏi ngày 15 tháng 4 năm 2019 lúc 17:41Apr 15, 2019 at 17:41

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

1

def _getArea(box):
    return (box[2] - box[0]) * (box[3] - box[1])

Cái này cần phải dùng mẹo. Cấu trúc của hộp: [xmin, ymin, xmax, ymax] Điều này nên thực hiện thủ thuật.Structure of Box: [xmin,ymin,xmax,ymax] This should do the trick.

Đã trả lời ngày 1 tháng 2 lúc 9:25Feb 1 at 9:25

2

from bbox import BBox2D

box1 = BBox2D([0.20212765957446807, 0.145625, 0.24822695035460993, 0.10875])
box2 = BBox2D([0.6693262411347518, 0.146875, 0.31382978723404253, 0.06875])


print(box2.height * box2.width)
print(box1.height * box1.width)

Tôi đã tìm được giải pháp.

Đã trả lời ngày 15 tháng 4 năm 2019 lúc 18:52Apr 15, 2019 at 18:52

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

MehmetmehmetMehmet

2.2169 huy hiệu vàng33 Huy hiệu bạc47 Huy hiệu đồng9 gold badges33 silver badges47 bronze badges


Làm thế nào để tính toán độ dốc trong pytorch?torchvision.io package provides functions to perform different IO operations. To compute the area of a bounding box or a set of bounding boxes, torchvision.io package provides the box_area() function. This function takes the bounding boxes as an input parameter and returns the area of each box.

Pytorch - Làm thế nào để tính toán giá trị riêng và hàm riêng của một ma trận vuông?[N,4] where N is the number of bounding boxes for which the area to be calculated. Each bounding box is specified by the coordinate (xmin, ymin, xmax, ymax). In other words − 0 ≤ xmin < xmax, and 0 ≤ ymin < ymax. The computed area is a torch Tensor of size [N].

Gói Torchvision.io cung cấp các chức năng để thực hiện các hoạt động IO khác nhau. Để tính toán khu vực của hộp giới hạn hoặc một tập hợp các hộp giới hạn, gói Torchvision.io cung cấp chức năng Box_area (). Hàm này lấy các hộp giới hạn làm tham số đầu vào và trả về vùng của mỗi hộp.

Các hộp giới hạn phải là dây buộc ngọn đuốc có kích thước [n, 4] trong đó n là số lượng các hộp giới hạn mà khu vực được tính toán. Mỗi hộp giới hạn được chỉ định bởi tọa độ (xmin, ymin, xmax, ymax). Nói cách khác - 0 xmin

torchvision.ops.box_area(boxes)

Để tính toán khu vực của một hộp giới hạn duy nhất, chúng tôi không thể vượt qua bộ tenxor hộp giới hạn để làm cho nó trở thành một tenxơ hai chiều.

  • Cú pháp - A [N,4] torch tensor containing the bounding boxes. Each bounding box is expected in (xmin, ymin, xmax, ymax) format where 0 ≤ xmin < xmax, and 0 ≤ ymin < ymax.

Đầu ra

Thông số[N] with the areas of bounding boxes.

Hộp - A [N, 4] Tensor có chứa các hộp giới hạn. Mỗi hộp giới hạn được dự kiến ​​trong định dạng (xmin, ymin, xmax, ymax) trong đó 0 xmin

  • Nó trả về một t đèn Tensor có kích thước [n] với các khu vực của các hộp giới hạn.torch and torchvision. Make sure you have already installed them.

import torch
import torchvision
from torchvision.io import read_image
from torchvision.utils import draw_bounding_boxes
from torchvision.ops import box_area
  • Các bướcimage_read() function. Specify the full image path with image types (.jpg or .png). The output of this function is a torch tensor of size [image_channels, image_height, image_width].

img = read_image('dog.png')
  • Nhập các thư viện cần thiết. Trong tất cả các ví dụ sau đây, các thư viện Python cần thiết là ngọn đuốc và hành vi. Hãy chắc chắn rằng bạn đã cài đặt chúng.torch.int. Unsqueeze the tensor if the area of only one bounding box is to be calculated.

bbox = (310, 200, 485, 430)
# convert the bbox to torch tensor
bbox = torch.tensor(bbox, dtype=torch.int)
  • Đọc hình ảnh JPEG hoặc PNG bằng hàm Image_Read (). Chỉ định đường dẫn hình ảnh đầy đủ với các loại hình ảnh (.jpg hoặc .png). Đầu ra của chức năng này là một dây buộc ngọn đuốc có kích thước [Image_Channels, Image_Height, Image_Width].box_area(). Optionally, assign the image with the bounding box drawn to a new variable.

area = box_area(bbox)
  • Xác định hộp giới hạn là một t đèn Tensor. Tensor hộp giới hạn phải của DTYPE Torch.Int. Không thể vượt qua tenxơ nếu khu vực chỉ tính toán một hộp giới hạn.draw_bounding_boxes() function. We put the computed area inside the bounding box as a label.

labels= [f"bbox area = {area.item()}"]
img=draw_bounding_boxes(img, bbox, labels= labels, width=3,colors=(255,255,0))
  • Tính toán hộp giới hạn khu vực bằng Box_area (). Tùy chọn, gán hình ảnh với hộp giới hạn được vẽ vào một biến mới.

img = torchvision.transforms.ToPILImage()(img)
img.show()

Vẽ một hộp giới hạn trên hình ảnh bằng hàm draw_bounding_boxes (). Chúng tôi đặt khu vực tính toán bên trong hộp giới hạn làm nhãn.

Chuyển đổi tenxơ hình ảnh thành hình ảnh PIL và hiển thị nó.

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

ví dụ 1

Trong chương trình Python sau, chúng tôi tính toán khu vực của một hộp giới hạn duy nhất và đặt khu vực này làm nhãn trên hình ảnh và hiển thị hình ảnh.

def _getArea(box):
    return (box[2] - box[0]) * (box[3] - box[1])
0

Đầu ra

def _getArea(box):
    return (box[2] - box[0]) * (box[3] - box[1])
1

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

Ví dụ 2

Trong chương trình Python sau, chúng tôi tính toán khu vực của một bộ hai hộp giới hạn và đặt các khu vực làm nhãn trên hình ảnh và hiển thị hình ảnh.

def _getArea(box):
    return (box[2] - box[0]) * (box[3] - box[1])
2

Đầu ra

def _getArea(box):
    return (box[2] - box[0]) * (box[3] - box[1])
3

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

Hướng dẫn calculate area of bounding box python - tính diện tích của hộp giới hạn python

Ví dụ 2

  • Trong chương trình Python sau, chúng tôi tính toán khu vực của một bộ hai hộp giới hạn và đặt các khu vực làm nhãn trên hình ảnh và hiển thị hình ảnh.
  • Cập nhật vào ngày 20 tháng 1-2022 06:57:25
  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để vẽ các hộp giới hạn trên một hình ảnh trong Pytorch?
  • Làm thế nào để tính toán biểu đồ của một tenxơ trong pytorch?
  • Làm thế nào để tính toán hình sin của các yếu tố của một tenxơ trong pytorch?
  • Làm thế nào để tính toán logarit của các phần tử của một tenxơ trong pytorch?
  • Pytorch - Làm thế nào để tính toán pseudoinverse của ma trận?
  • Làm thế nào để tính toán Jacobian của một chức năng nhất định trong Pytorch?
  • Pytorch - Làm thế nào để tính toán chức năng lỗi của một tenxơ?
  • Pytorch - Làm thế nào để tính toán yếu tố quyết định của một ma trận vuông?
  • Pytorch - Làm thế nào để tính toán nghịch đảo của ma trận vuông?
  • Làm thế nào để tính toán Hessian của một hàm vô hướng nhất định trong Pytorch?
  • Pytorch - Làm thế nào để tính toán phân rã QR của ma trận?
  • Pytorch - Làm thế nào để tính toán định mức của một vectơ hoặc ma trận?
  • Làm thế nào để tính toán độ lệch trung bình và độ lệch chuẩn của một tenxơ trong pytorch?