Я пытаюсь нарисовать контур в ROI. Но вершины ROI появляются на левой стороне изображения. Я хочу переместить ROI в место, указанное на фотографии, но я не знаю, как это сделать. Я новичок в OpenCV и Python, поэтому любая помощь очень ценится. Вот мой код.
# Object detected
center_x = int(detection[0] * width)
center_y = int(detection[1] * height)
w = int(detection[2] * width)
h = int(detection[3] * height)
# Rectangle coordinates
x = int(center_x - w / 2)
y = int(center_y - h / 2)
boxes.append([x, y, w, h])
confidences.append(float(confidence))
class_ids.append(class_id)
indexes = cv2.dnn.NMSBoxes(boxes, confidences, 0.4, 0.3)
for i in range(len(boxes)):
if i in indexes:
x, y, w, h = boxes[i]
label = str(classes[class_ids[i]])
confidence = confidences[i]
color = colors[class_ids[i]]
img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
ret, img_binary = cv2.threshold(img_gray, 15, 255, 0)
roi = img_binary[y:y+h, x:x+w]
contours, hierarchy = cv2.findContours(roi, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(frame, contours, -1, (0,255,0), 3)
print(roi.shape)
print(x, y, w, h)