У меня есть набор изображений и соответствующие им координаты YOLO. Теперь я хочу извлечь объекты, обозначенные этими координатами YOLO, в отдельные изображения.
Но эти координаты находятся в записи с плавающей запятой и, следовательно, не могут использовать сращивание.
Это изображение Образец изображения и соответствующие координаты YOLO
labels = [0.536328, 0.5, 0.349219, 0.611111]
Я прочитал мое изображение следующим образом:
image = cv2.imread('frame0.jpg')
Затем я хотел использовать что-то вроде image[y:y+h,x:x+w]
в качестве своего видел в подобном вопросе. Но переменные являются числами с плавающей точкой, поэтому я попытался преобразовать их в целые числа, используя размеры изображения 1280 x 720
следующим образом:
object = [int(label[0]*720), int(label[1]*720), int(label[2]*1280), int(label[3]*1280)]
x,y,w,h = object
Но это не дает правильную часть изображения, как вы можете см. здесь extractImage
Это часть моего учебного набора данных, поэтому я обрезал эти части ранее, используя некоторые инструменты, чтобы не было ошибок в моих ярлыках. Также все изображения неправильно обрезаны таким образом, я показал вывод для одного из изображений.
Заранее большое спасибо. Любые предложения будут действительно полезны!