边界框的坐标方向:
python opencv画边界框程序:[程序摘自python OpenCV画 bounding box并标明数据类]
import cv2 import numpy as np class_name = "car" box_left_top = np.array([75, 35]) # bbox左上角坐标 box_right_bottom =np.array([475, 220]) # bbox右下角坐标 line_color = (0, 255, 0) line_thickness = 2 line_type = 4 img = cv2.imread('./car_img.jpg') # img is a np.array with shape (h, w, c) print(img.shape) cv2.rectangle(img, tuple(box_left_top), tuple(box_right_bottom), line_color, line_thickness, line_type) # 画bbox text_size = cv2.getTextSize(class_name, 1, cv2.FONT_HERSHEY_PLAIN, 1)[0] # 获取文字区域框大小 text_right_bottom = box_left_top + np.array(list(text_size)) # 获取文字区域右下角坐标 cv2.rectangle(img, tuple(box_left_top), tuple(text_right_bottom), line_color, -1) # 绘制文字区域矩形框 box_left_top[1] = box_left_top[1] + (text_size[1]/2 + 4) # 计算文字起始位置偏移 cv2.putText(img, class_name , tuple(box_left_top), cv2.FONT_HERSHEY_PLAIN, 1.0, (255, 0, 255), 1) # 绘字 cv2.imwrite('./car_img_with_box.jpg', img) cv2.imshow('Image', img) cv2.waitKey(0) cv2.destroyAllWindows()
图片展示:
标签:box,img,python,top,cv2,bounding,line,left From: https://www.cnblogs.com/picassooo/p/17778807.html