Я написал небольшой блок кода для сохранения обрезанных изображений в файлах, основанных на их классах. Дело в том, что эти изображения сохраняются с префиксом BB_Shirt или BB_Short относительно их классов, но теперь я хочу сохранить их с тем же префиксом, но добавив также исходное имя файла изображения, например:
У меня есть эти изображения: Prv_image_1021
И обрезанные объекты будут сохранены следующим образом: (предположим, что есть 4 объекта), я хочу, чтобы мой вывод был BB_Shirt_1021_1, BB_Short_1021_2, BB_Shirt_1021_3, BB_Short_1021_4
* 1006 Здесь код:
for i in idxs.flatten():
# extract the bounding box coordinates
(x, y) = (boxes[i][0], boxes[i][1])
(w, h) = (boxes[i][2], boxes[i][3])
# draw a bounding box rectangle and label on the image
color = [int(c) for c in COLORS[classIDs[i]]]
cv2.rectangle(image, (x, y), (x + w, y + h), color, 2)
text = "{}: {:.4f}".format(LABELS[classIDs[i]], confidences[i])
cv2.putText(image, text, (x, y - 5), cv2.FONT_HERSHEY_SIMPLEX,
0.5, color, 2)
# Saving our detected objects with respect to the Label
img=image[y:y + h,x:x + w]
if LABELS[classIDs[i]] == 'short':
filename = "Shorts/BB_short_%d.jpg"%i
cv2.imwrite(filename,img)
else:
filename = "Shirts/BB_shirt_%d.jpg"%i
cv2.imwrite(filename,img)
i+=1
Любое предложение о том, как это сделать, будет высоко ценится, спасибо.