簡體   English   中英

從 python 中的編碼像素收縮邊界框

[英]Constract bounding boxes from encoded pixels in python

給定 object 的編碼像素,為對象收縮邊界框的有效方法是什么。 我正在嘗試將任務從分段轉換為 yolo 中的 object 檢測。 歡迎任何建議。

如果您有分割點,那么您可以通過迭代並記錄 [x,y] 的最低和最高值來找到點的范圍。 這將為您提供左上角和右下角。

如果您嘗試從彩色分段圖像向后工作,那么您可以使用 opencv 對 colors 設置閾值並從 blob 中獲取框,如下所示:

在此處輸入圖像描述

import cv2
import numpy as np

# load image
img = cv2.imread("mask.png");
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY);

# threshold
thresh = cv2.inRange(gray, 100, 255);

# contour
_, contours, _ = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE);

# draw rectangle
x,y,w,h = cv2.boundingRect(contours[0]);
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2);

# show
cv2.imshow("box", img);
cv2.imshow("Thresh", thresh);
cv2.waitKey(0);

# save
cv2.imwrite("boxed.png", img);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM