我要怎么写出一个自动化的class或def来“自动画出” , “YOLOv5”或其他YOLO格式的bounding box?
并且生出.txt文件?
想要框住的图像如下ROI范例:



我要怎么写出一个自动化的class或def来“自动画出” , “YOLOv5”或其他YOLO格式的bounding box?
并且生出.txt文件?
想要框住的图像如下ROI范例:



该回答引用ChatGPT
请参考下面的解决方案,如果有帮助,还请点击 “采纳” 感谢支持!
下面是使用Python和OpenCV库的示例代码
import cv2
def draw_bounding_box(img, object_list):
for obj in object_list:
xmin, ymin, xmax, ymax = obj['coordinates']
cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 0, 255), 2)
return img
def detect_objects(img):
# Add your object detection code here
# ...
object_list = [{'coordinates': (100, 100, 200, 200)}]
return object_list
def save_to_txt(object_list, file_name):
with open(file_name, 'w') as f:
for obj in object_list:
xmin, ymin, xmax, ymax = obj['coordinates']
line = ' '.join([str(xmin), str(ymin), str(xmax), str(ymax)])
f.write(line + '\n')
def main(img_file, txt_file):
img = cv2.imread(img_file)
object_list = detect_objects(img)
img = draw_bounding_box(img, object_list)
save_to_txt(object_list, txt_file)
cv2.imwrite('output.jpg', img)
if __name__ == '__main__':
main('input.jpg', 'output.txt')