0
我有一個腳本,我使用滑動窗口來檢測圖片中的某些東西。在檢查圖像的每一部分後,我將其縮小並重新進行。如果我在縮小比例的圖像上創建了框,我如何獲得原始圖像中的框(x,y,w,h)座標?
如果我有檢測,我會返回邊界框的座標。 (x, y, width, height)
。
但是,如果我在縮小的圖像上檢測到,如何返回原始圖像上的「真實」座標?
這裏是我的代碼部分至今:
scaledNumber = 0
detections = []
DOWNSCALE = 1.3
for imageScaled in pyramid_gaussian(image, downscale=DOWNSCALE):
if imageScaled.shape[0] < MIN_WINDOW_SIZE[1] or imageScaled.shape[1] < MIN_WINDOW_SIZE[0]:
break
for (x1, y1, x2, y2, croppedImage) in slidingWindow(imageScaled, MIN_WINDOW_SIZE, WINDOW_STEP_SIZE):
if croppedImage.shape[0] != MIN_WINDOW_SIZE[1] or croppedImage.shape[1] != MIN_WINDOW_SIZE[0]:
continue
HERE I DO THE DETECTION WITH the croppedImage
detections.append((x1, y1, x1 + int(MIN_WINDOW_SIZE[0] * (DOWNSCALE ** scaledNumber)),
y1 + int(MIN_WINDOW_SIZE[1] * (DOWNSCALE ** scaledNumber)), croppedImage))
scaledNumber += 1
只是高檔的座標,讓你縮放係數相乘。 – Noidea
乘以因子:x,y,寬度,高度 – Micka
謝謝各位! –