Python cv2.LINE_AA Examples
The following are 30
code examples of cv2.LINE_AA().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
cv2
, or try the search function
.
Example #1
Source File: tgc_visualizer.py From TGC-Designer-Tools with Apache License 2.0 | 8 votes |
def drawSplinesOnImage(splines, color, im, pc, image_scale): for s in splines: # Get the shape of this spline and draw it on the image nds = [] for wp in s["waypoints"]: nds.append(pc.tgcToCV2(wp["waypoint"]["x"], wp["waypoint"]["y"], image_scale)) # Don't try to draw malformed splines if len(nds) == 0: continue # Uses points and not image pixels, so flip the x and y nds = np.array(nds) nds[:,[0, 1]] = nds[:,[1, 0]] nds = np.int32([nds]) # Bug with fillPoly, needs explict cast to 32bit thickness = int(s["width"]) if(thickness < image_scale): thickness = int(image_scale) if s["isFilled"]: cv2.fillPoly(im, nds, color, lineType=cv2.LINE_AA) else: cv2.polylines(im, nds, s["isClosed"], color, thickness, lineType=cv2.LINE_AA)
Example #2
Source File: utils.py From pruning_yolov3 with GNU General Public License v3.0 | 7 votes |
def plot_one_box(x, img, color=None, label=None, line_thickness=None): # Plots one bounding box on image img tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1 # line thickness color = color or [random.randint(0, 255) for _ in range(3)] c1, c2 = (int(x[0]), int(x[1])), (int(x[2]), int(x[3])) cv2.rectangle(img, c1, c2, color, thickness=tl) if label: tf = max(tl - 1, 1) # font thickness t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3 cv2.rectangle(img, c1, c2, color, -1) # filled cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA)
Example #3
Source File: vis.py From Parsing-R-CNN with MIT License | 7 votes |
def vis_class(img, pos, class_str, bg_color): """Visualizes the class.""" font_color = cfg.VIS.SHOW_CLASS.COLOR font_scale = cfg.VIS.SHOW_CLASS.FONT_SCALE x0, y0 = int(pos[0]), int(pos[1]) # Compute text size. txt = class_str font = cv2.FONT_HERSHEY_SIMPLEX ((txt_w, txt_h), _) = cv2.getTextSize(txt, font, font_scale, 1) # Place text background. back_tl = x0, y0 - int(1.3 * txt_h) back_br = x0 + txt_w, y0 cv2.rectangle(img, back_tl, back_br, bg_color, -1) # Show text. txt_tl = x0, y0 - int(0.3 * txt_h) cv2.putText(img, txt, txt_tl, font, font_scale, font_color, lineType=cv2.LINE_AA) return img
Example #4
Source File: vis.py From Parsing-R-CNN with MIT License | 7 votes |
def vis_mask(img, mask, bbox_color, show_parss=False): """Visualizes a single binary mask.""" img = img.astype(np.float32) idx = np.nonzero(mask) border_color = cfg.VIS.SHOW_SEGMS.BORDER_COLOR border_thick = cfg.VIS.SHOW_SEGMS.BORDER_THICK mask_color = bbox_color if cfg.VIS.SHOW_SEGMS.MASK_COLOR_FOLLOW_BOX else _WHITE mask_color = np.asarray(mask_color) mask_alpha = cfg.VIS.SHOW_SEGMS.MASK_ALPHA _, contours, _ = cv2.findContours(mask.copy(), cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE) if cfg.VIS.SHOW_SEGMS.SHOW_BORDER: cv2.drawContours(img, contours, -1, border_color, border_thick, cv2.LINE_AA) if cfg.VIS.SHOW_SEGMS.SHOW_MASK and not show_parss: img[idx[0], idx[1], :] *= 1.0 - mask_alpha img[idx[0], idx[1], :] += mask_alpha * mask_color return img.astype(np.uint8)
Example #5
Source File: vis.py From Parsing-R-CNN with MIT License | 7 votes |
def vis_parsing(img, parsing, colormap, show_segms=True): """Visualizes a single binary parsing.""" img = img.astype(np.float32) idx = np.nonzero(parsing) parsing_alpha = cfg.VIS.SHOW_PARSS.PARSING_ALPHA colormap = colormap_utils.dict2array(colormap) parsing_color = colormap[parsing.astype(np.int)] border_color = cfg.VIS.SHOW_PARSS.BORDER_COLOR border_thick = cfg.VIS.SHOW_PARSS.BORDER_THICK img[idx[0], idx[1], :] *= 1.0 - parsing_alpha # img[idx[0], idx[1], :] += alpha * parsing_color img += parsing_alpha * parsing_color if cfg.VIS.SHOW_PARSS.SHOW_BORDER and not show_segms: _, contours, _ = cv2.findContours(parsing.copy(), cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE) cv2.drawContours(img, contours, -1, border_color, border_thick, cv2.LINE_AA) return img.astype(np.uint8)
Example #6
Source File: OSMTGC.py From TGC-Designer-Tools with Apache License 2.0 | 6 votes |
def drawWayOnImage(way, color, im, pc, image_scale, thickness=-1, x_offset=0.0, y_offset=0.0): # Get the shape of this way and draw it as a poly nds = [] for node in way.get_nodes(resolve_missing=True): # Allow automatically resolving missing nodes, but this is VERY slow with the API requests, try to request them above instead nds.append(pc.latlonToCV2(node.lat, node.lon, image_scale, x_offset, y_offset)) # Uses points and not image pixels, so flip the x and y nds = np.array(nds) nds[:,[0, 1]] = nds[:,[1, 0]] nds = np.int32([nds]) # Bug with fillPoly, needs explict cast to 32bit cv2.fillPoly(im, nds, color) # Add option to draw shape again, but with thick line # Use this to automatically expand some shapes, for example water # For better masking if thickness > 0: # Need to draw again since fillPoly has no line thickness options that I've found cv2.polylines(im, nds, True, color, thickness, lineType=cv2.LINE_AA)
Example #7
Source File: main.py From ICDAR-2019-SROIE with MIT License | 6 votes |
def draw(): filenames = [os.path.splitext(f)[0] for f in glob.glob("for_task3/*.txt")] txt_files = [s + ".txt" for s in filenames] for txt in txt_files: image = cv2.imread('test_original/'+ txt.split('/')[1].split('.')[0]+'.jpg', cv2.IMREAD_COLOR) with open(txt, 'r') as txt_file: for line in csv.reader(txt_file): box = [int(string, 10) for string in line[0:8]] if len(line) < 9: print(txt) cv2.rectangle(image, (box[0], box[1]), (box[4], box[5]), (0,255,0), 2) font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(image, line[8].upper(), (box[0],box[1]), font, 0.5, (0, 0, 255), 1, cv2.LINE_AA) cv2.imwrite('task2_result_draw/'+ txt.split('/')[1].split('.')[0]+'.jpg', image)
Example #8
Source File: debugger.py From centerpose with MIT License | 6 votes |
def add_coco_bbox(self, bbox, cat, conf=1, show_txt=True, img_id='default'): bbox = np.array(bbox, dtype=np.int32) # cat = (int(cat) + 1) % 80 cat = int(cat) # print('cat', cat, self.names[cat]) c = self.colors[cat][0][0].tolist() if self.theme == 'white': c = (255 - np.array(c)).tolist() txt = '{}{:.1f}'.format(self.names[cat], conf) font = cv2.FONT_HERSHEY_SIMPLEX cat_size = cv2.getTextSize(txt, font, 0.5, 2)[0] cv2.rectangle( self.imgs[img_id], (bbox[0], bbox[1]), (bbox[2], bbox[3]), c, 2) if show_txt: cv2.rectangle(self.imgs[img_id], (bbox[0], bbox[1] - cat_size[1] - 2), (bbox[0] + cat_size[0], bbox[1] - 2), c, -1) cv2.putText(self.imgs[img_id], txt, (bbox[0], bbox[1] - 2), font, 0.5, (0, 0, 0), thickness=1, lineType=cv2.LINE_AA)
Example #9
Source File: helpers.py From Person-Detection-and-Tracking with MIT License | 6 votes |
def draw_box_label(id,img, bbox_cv2, box_color=(0, 255, 255), show_label=True): ''' Helper funciton for drawing the bounding boxes and the labels bbox_cv2 = [left, top, right, bottom] ''' #box_color= (0, 255, 255) font = cv2.FONT_HERSHEY_SIMPLEX font_size = 0.7 font_color = (0, 0, 0) left, top, right, bottom = bbox_cv2[1], bbox_cv2[0], bbox_cv2[3], bbox_cv2[2] # Draw the bounding box cv2.rectangle(img, (left, top), (right, bottom), box_color, 4) if show_label: # Draw a filled box on top of the bounding box (as the background for the labels) cv2.rectangle(img, (left-2, top-45), (right+2, top), box_color, -1, 1) # Output the labels that show the x and y coordinates of the bounding box center. text_x= 'id='+str(id) cv2.putText(img,text_x,(left,top-25), font, font_size, font_color, 1, cv2.LINE_AA) text_y= 'y='+str((top+bottom)/2) cv2.putText(img,text_y,(left,top-5), font, font_size, font_color, 1, cv2.LINE_AA) return img
Example #10
Source File: common.py From OpenCV-Python-Tutorial with MIT License | 6 votes |
def draw_str(dst, target, s): x, y = target cv2.putText(dst, s, (x+1, y+1), cv2.FONT_HERSHEY_PLAIN, 1.0, (0, 0, 0), thickness = 2, lineType=cv2.LINE_AA) cv2.putText(dst, s, (x, y), cv2.FONT_HERSHEY_PLAIN, 1.0, (255, 255, 255), lineType=cv2.LINE_AA)
Example #11
Source File: video.py From OpenCV-Python-Tutorial with MIT License | 6 votes |
def draw_quads(self, img, quads, color = (0, 255, 0)): img_quads = cv2.projectPoints(quads.reshape(-1, 3), self.rvec, self.tvec, self.K, self.dist_coef) [0] img_quads.shape = quads.shape[:2] + (2,) for q in img_quads: cv2.fillConvexPoly(img, np.int32(q*4), color, cv2.LINE_AA, shift=2)
Example #12
Source File: utils.py From generative_adversary with GNU General Public License v3.0 | 6 votes |
def label_images(images, labels): font = cv.FONT_HERSHEY_SIMPLEX new_imgs = [] for i, img in enumerate(images): new_img = ((img.copy() + 1.) * 127.5).astype(np.uint8) if new_img.shape[-1] == 3: new_img = new_img[..., ::-1] new_img = cv.resize(new_img, (100, 100), interpolation=cv.INTER_LINEAR) new_img = cv.putText(new_img, str(labels[i]), (10, 30), font, 1, (255, 255, 255), 2, cv.LINE_AA) new_img = cv.copyMakeBorder(new_img, top=2, bottom=2, left=2, right=2, borderType=cv.BORDER_CONSTANT, value=(255, 255, 255)) else: new_img = np.squeeze(new_img) new_img = cv.resize(new_img, (100, 100), interpolation=cv.INTER_LINEAR) new_img = cv.putText(new_img, str(labels[i]), (10, 30), font, 1, (255), 2, cv.LINE_AA) new_img = new_img[..., None] new_img = (new_img / 127.5 - 1.0).astype(np.float32) new_imgs.append(new_img[..., ::-1]) return np.stack(new_imgs, axis=0)
Example #13
Source File: face_recognition_tester.py From TripletLossFace with MIT License | 6 votes |
def show_who_in_image(self, path, get_face: bool = True, show: bool = True, turn_rgb: bool = True): min_im, image, all_frames = self.detect_which(path, get_face) for (confidance, who), frame in zip(min_im, all_frames): color = self.colors[who] x1, x2, y1, y2 = frame cv2.rectangle(image, (x1, y1), (x2, y2), color, 4) cv2.putText(image, f"{who}", (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 1, color, 3, cv2.LINE_AA) # -{round(float(confidance), 2)} if turn_rgb: image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) if show: cv2.imshow("a", image) cv2.waitKey(0) return image
Example #14
Source File: vis.py From KL-Loss with Apache License 2.0 | 6 votes |
def vis_class(img, pos, class_str, font_scale=0.35): """Visualizes the class.""" img = img.astype(np.uint8) x0, y0 = int(pos[0]), int(pos[1]) # Compute text size. txt = class_str font = cv2.FONT_HERSHEY_SIMPLEX ((txt_w, txt_h), _) = cv2.getTextSize(txt, font, font_scale, 1) # Place text background. back_tl = x0, y0 - int(1.3 * txt_h) back_br = x0 + txt_w, y0 cv2.rectangle(img, back_tl, back_br, _GREEN, -1) # Show text. txt_tl = x0, y0 - int(0.3 * txt_h) cv2.putText(img, txt, txt_tl, font, font_scale, _GRAY, lineType=cv2.LINE_AA) return img
Example #15
Source File: main_engine.py From TripletLossFace with MIT License | 6 votes |
def show_who_in_image(self, path, get_face: bool = True, show: bool = True, turn_rgb: bool = True): min_im, image, all_frames = self.index_image(path, get_face) for (confidance, who), frame in zip(min_im, all_frames): try: color = self.colors[str(who)] x1, x2, y1, y2 = frame cv2.rectangle(image, (x1, y1), (x2, y2), color, 4) cv2.putText(image, f"id: {str(who)}- conf:{abs(round(float(confidance), 2))}", (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 1, color, 3, cv2.LINE_AA) # -{round(float(confidance), 2)} except KeyError: continue if turn_rgb: image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) if show: cv2.imshow("a", image) cv2.waitKey(1) return image, min_im, all_frames
Example #16
Source File: utils.py From self-attention-GAN-pytorch with MIT License | 5 votes |
def make_gif(image, iteration_number, save_path, model_name, max_frames_per_gif=100): # Make gif gif_frames = [] # Read old gif frames try: gif_frames_reader = imageio.get_reader(os.path.join(save_path, model_name + ".gif")) for frame in gif_frames_reader: gif_frames.append(frame[:, :, :3]) except: pass # Append new frame im = cv2.putText(np.concatenate((np.zeros((32, image.shape[1], image.shape[2])), image), axis=0), 'iter %s' % str(iteration_number), (10, 20), cv2.FONT_HERSHEY_SIMPLEX, .5, (255, 255, 255), 1, cv2.LINE_AA).astype('uint8') gif_frames.append(im) # If frames exceeds, save as different file if len(gif_frames) > max_frames_per_gif: print("Splitting the GIF...") gif_frames_00 = gif_frames[:max_frames_per_gif] num_of_gifs_already_saved = len(glob.glob(os.path.join(save_path, model_name + "_*.gif"))) print("Saving", os.path.join(save_path, model_name + "_%05d.gif" % (num_of_gifs_already_saved))) imageio.mimsave(os.path.join(save_path, model_name + "_%05d.gif" % (num_of_gifs_already_saved)), gif_frames_00) gif_frames = gif_frames[max_frames_per_gif:] # Save gif # print("Saving", os.path.join(save_path, model_name + ".gif")) imageio.mimsave(os.path.join(save_path, model_name + ".gif"), gif_frames)
Example #17
Source File: utils.py From FL3D with GNU General Public License v3.0 | 5 votes |
def draw_lidar_box3d_on_image(img, boxes3d, scores, gt_boxes3d=np.array([]), color=(0, 255, 255), gt_color=(255, 0, 255), thickness=1, P2 = None, T_VELO_2_CAM=None, R_RECT_0=None): # Input: # img: (h, w, 3) # boxes3d (N, 7) [x, y, z, h, w, l, r] # scores # gt_boxes3d (N, 7) [x, y, z, h, w, l, r] img = img.copy() projections = lidar_box3d_to_camera_box(boxes3d, cal_projection=True, P2=P2, T_VELO_2_CAM=T_VELO_2_CAM, R_RECT_0=R_RECT_0) gt_projections = lidar_box3d_to_camera_box(gt_boxes3d, cal_projection=True, P2=P2, T_VELO_2_CAM=T_VELO_2_CAM, R_RECT_0=R_RECT_0) # draw projections for qs in projections: for k in range(0, 4): i, j = k, (k + 1) % 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), color, thickness, cv2.LINE_AA) i, j = k + 4, (k + 1) % 4 + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), color, thickness, cv2.LINE_AA) i, j = k, k + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), color, thickness, cv2.LINE_AA) # draw gt projections for qs in gt_projections: for k in range(0, 4): i, j = k, (k + 1) % 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), gt_color, thickness, cv2.LINE_AA) i, j = k + 4, (k + 1) % 4 + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), gt_color, thickness, cv2.LINE_AA) i, j = k, k + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), gt_color, thickness, cv2.LINE_AA) return cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_BGR2RGB)
Example #18
Source File: utils.py From keras-centernet with MIT License | 5 votes |
def draw_pose(self, img, kps): """Draw the pose like https://github.com/xingyizhou/CenterNet/blob/master/src/lib/utils/debugger.py#L191 Arguments img: uint8 BGR kps: (17, 2) keypoint [[x, y]] coordinates """ kps = np.array(kps, dtype=np.int32).reshape(self.num_joints, 2) for j in range(self.num_joints): cv2.circle(img, (kps[j, 0], kps[j, 1]), 3, self.colors_hp[j], -1) for j, e in enumerate(self.edges): if kps[e].min() > 0: cv2.line(img, (kps[e[0], 0], kps[e[0], 1]), (kps[e[1], 0], kps[e[1], 1]), self.ec[j], 2, lineType=cv2.LINE_AA) return img
Example #19
Source File: vis.py From KL-Loss with Apache License 2.0 | 5 votes |
def vis_mask(img, mask, col, alpha=0.4, show_border=True, border_thick=1): """Visualizes a single binary mask.""" img = img.astype(np.float32) idx = np.nonzero(mask) img[idx[0], idx[1], :] *= 1.0 - alpha img[idx[0], idx[1], :] += alpha * col if show_border: _, contours, _ = cv2.findContours( mask.copy(), cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE) cv2.drawContours(img, contours, -1, _WHITE, border_thick, cv2.LINE_AA) return img.astype(np.uint8)
Example #20
Source File: utils.py From pytorch-yolov3 with GNU General Public License v3.0 | 5 votes |
def plot_one_box(x, img, color=None, label=None, line_thickness=None): # Plots one bounding box on image img tl = line_thickness or round(0.002 * max(img.shape[0:2])) + 1 # line thickness color = color or [random.randint(0, 255) for _ in range(3)] c1, c2 = (int(x[0]), int(x[1])), (int(x[2]), int(x[3])) cv2.rectangle(img, c1, c2, color, thickness=tl) if label: tf = max(tl - 1, 1) # font thickness t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3 cv2.rectangle(img, c1, c2, color, -1) # filled cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA)
Example #21
Source File: visual_aug.py From EfficientDet.Pytorch with MIT License | 5 votes |
def visualize_bbox(img, bbox, class_id, class_idx_to_name, color=BOX_COLOR, thickness=2): x_min, y_min, x_max, y_max = bbox x_min, x_max, y_min, y_max = int(x_min), int(x_max), int(y_min), int(y_max) cv2.rectangle(img, (x_min, y_min), (x_max, y_max), color=color, thickness=thickness) # class_name = class_idx_to_name[class_id] # ((text_width, text_height), _) = cv2.getTextSize(class_name, cv2.FONT_HERSHEY_SIMPLEX, 0.35, 1) # cv2.rectangle(img, (x_min, y_min - int(1.3 * text_height)), (x_min + text_width, y_min), BOX_COLOR, -1) # cv2.putText(img, class_name, (x_min, y_min - int(0.3 * text_height)), cv2.FONT_HERSHEY_SIMPLEX, 0.35,TEXT_COLOR, lineType=cv2.LINE_AA) return img
Example #22
Source File: mark_detector.py From face_landmark_dnn with MIT License | 5 votes |
def draw_marks(image, marks, color=(255, 255, 255), thick=1): """Draw mark points on image""" for mark in marks: cv2.circle(image, (int(mark[0]), int( mark[1])), thick, color, -1, cv2.LINE_AA)
Example #23
Source File: inference.py From Emotion with MIT License | 5 votes |
def draw_text(coordinates, image_array, text, color, x_offset=0, y_offset=0, font_scale=2, thickness=2): x, y = coordinates[:2] cv2.putText(image_array, text, (x + x_offset, y + y_offset), cv2.FONT_HERSHEY_SIMPLEX, font_scale, color, thickness, cv2.LINE_AA)
Example #24
Source File: visualization.py From DeepForest with MIT License | 5 votes |
def draw_box(image, box, color, thickness=1): """ Draws a box on an image with a given color. # Arguments image : The image to draw on. box : A list of 4 elements (x1, y1, x2, y2). color : The color of the box. thickness : The thickness of the lines to draw a box with. """ b = np.array(box).astype(int) cv2.rectangle(image, (b[0], b[1]), (b[2], b[3]), color, thickness, cv2.LINE_AA)
Example #25
Source File: track.py From animal-tracking with Creative Commons Zero v1.0 Universal | 5 votes |
def drawFloorCrop(event, x, y, flags, params): global perspectiveMatrix, name, RENEW_TETRAGON imgCroppingPolygon = np.zeros_like(params['imgFloorCorners']) if event == cv2.EVENT_RBUTTONUP: cv2.destroyWindow(f'Floor Corners for {name}') if len(params['croppingPolygons'][name]) > 4 and event == cv2.EVENT_LBUTTONUP: RENEW_TETRAGON = True h = params['imgFloorCorners'].shape[0] # delete 5th extra vertex of the floor cropping tetragon params['croppingPolygons'][name] = np.delete(params['croppingPolygons'][name], -1, 0) params['croppingPolygons'][name] = params['croppingPolygons'][name] - [h,0] # Sort cropping tetragon vertices counter-clockwise starting with top left params['croppingPolygons'][name] = counterclockwiseSort(params['croppingPolygons'][name]) # Get the matrix of perspective transformation params['croppingPolygons'][name] = np.reshape(params['croppingPolygons'][name], (4,2)) tetragonVertices = np.float32(params['croppingPolygons'][name]) tetragonVerticesUpd = np.float32([[0,0], [0,h], [h,h], [h,0]]) perspectiveMatrix[name] = cv2.getPerspectiveTransform(tetragonVertices, tetragonVerticesUpd) if event == cv2.EVENT_LBUTTONDOWN: if len(params['croppingPolygons'][name]) == 4 and RENEW_TETRAGON: params['croppingPolygons'][name] = np.array([[0,0]]) RENEW_TETRAGON = False if len(params['croppingPolygons'][name]) == 1: params['croppingPolygons'][name][0] = [x,y] params['croppingPolygons'][name] = np.append(params['croppingPolygons'][name], [[x,y]], axis=0) if event == cv2.EVENT_MOUSEMOVE and not (len(params['croppingPolygons'][name]) == 4 and RENEW_TETRAGON): params['croppingPolygons'][name][-1] = [x,y] if len(params['croppingPolygons'][name]) > 1: cv2.fillPoly( imgCroppingPolygon, [np.reshape( params['croppingPolygons'][name], (len(params['croppingPolygons'][name]),2) )], BGR_COLOR['green'], cv2.LINE_AA) imgCroppingPolygon = cv2.addWeighted(params['imgFloorCorners'], 1.0, imgCroppingPolygon, 0.5, 0.) cv2.imshow(f'Floor Corners for {name}', imgCroppingPolygon)
Example #26
Source File: test_ssd_mobilenet_v1.py From object-detection with MIT License | 5 votes |
def real_time_object_detection(sess, colors): camera = cv2.VideoCapture(0) while camera.isOpened(): start = time.time() ret, frame = camera.read() if ret: image_data = preprocess_image(frame, model_image_size=(300,300)) out_scores, out_boxes, out_classes = run_detection(image_data, sess) # Draw bounding boxes on the image file result = draw_boxes(frame, out_scores, out_boxes, out_classes, class_names, colors) end = time.time() # fps t = end - start fps = "Fps: {:.2f}".format(1 / t) # display a piece of text to the frame cv2.putText(frame, fps, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA) cv2.imshow("Object detection - ssd_mobilenet_v1", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break camera.release() cv2.destroyAllWindows()
Example #27
Source File: test_ssdlite_mobilenet_v2.py From object-detection with MIT License | 5 votes |
def real_time_object_detection(interpreter, colors): camera = cv2.VideoCapture(0) while camera.isOpened(): start = time.time() ret, frame = camera.read() if ret: image_data = preprocess_image_for_tflite(frame, model_image_size=300) out_scores, out_boxes, out_classes = run_detection(image_data, interpreter) # Draw bounding boxes on the image file result = draw_boxes(frame, out_scores, out_boxes, out_classes, class_names, colors) end = time.time() # fps t = end - start fps = "Fps: {:.2f}".format(1 / t) cv2.putText(result, fps, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA) cv2.imshow("Object detection - ssdlite_mobilenet_v2", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break camera.release() cv2.destroyAllWindows()
Example #28
Source File: yolo_utils.py From object-detection with MIT License | 5 votes |
def draw_boxes(image, out_scores, out_boxes, out_classes, class_names, colors): h, w, _ = image.shape for i, c in reversed(list(enumerate(out_classes))): predicted_class = class_names[c] box = out_boxes[i] score = out_scores[i] label = '{} {:.2f}'.format(predicted_class, score) top, left, bottom, right = box top = max(0, np.floor(top + 0.5).astype('int32')) left = max(0, np.floor(left + 0.5).astype('int32')) bottom = min(h, np.floor(bottom + 0.5).astype('int32')) right = min(w, np.floor(right + 0.5).astype('int32')) print(label, (left, top), (right, bottom)) # colors: RGB, opencv: BGR cv2.rectangle(image, (left, top), (right, bottom), tuple(reversed(colors[c])), 6) font_face = cv2.FONT_HERSHEY_SIMPLEX font_scale = 1 font_thickness = 2 label_size = cv2.getTextSize(label, font_face, font_scale, font_thickness)[0] label_rect_left, label_rect_top = int(left - 3), int(top - 3) label_rect_right, label_rect_bottom = int(left + 3 + label_size[0]), int(top - 5 - label_size[1]) cv2.rectangle(image, (label_rect_left, label_rect_top), (label_rect_right, label_rect_bottom), tuple(reversed(colors[c])), -1) cv2.putText(image, label, (left, int(top - 4)), font_face, font_scale, (0, 0, 0), font_thickness, cv2.LINE_AA) return image
Example #29
Source File: utils.py From FaceNet with Apache License 2.0 | 5 votes |
def draw_str(dst, target, s): x, y = target cv.putText(dst, s, (x + 1, y + 1), cv.FONT_HERSHEY_PLAIN, 1.0, (0, 0, 0), thickness=2, lineType=cv.LINE_AA) cv.putText(dst, s, (x, y), cv.FONT_HERSHEY_PLAIN, 1.0, (255, 255, 255), lineType=cv.LINE_AA)
Example #30
Source File: utils.py From FL3D with GNU General Public License v3.0 | 5 votes |
def draw_lidar_box3d_on_image(img, boxes3d, gt_boxes3d=np.array([]), color=(0, 255, 255), gt_color=(255, 0, 255), thickness=1, P2 = None, T_VELO_2_CAM=None, R_RECT_0=None): # Input: # img: (h, w, 3) # boxes3d (N, 7) [x, y, z, h, w, l, r] # scores # gt_boxes3d (N, 7) [x, y, z, h, w, l, r] img = img.copy() projections = lidar_box3d_to_camera_box(boxes3d, cal_projection=True, P2=P2, T_VELO_2_CAM=T_VELO_2_CAM, R_RECT_0=R_RECT_0) gt_projections = lidar_box3d_to_camera_box(gt_boxes3d, cal_projection=True, P2=P2, T_VELO_2_CAM=T_VELO_2_CAM, R_RECT_0=R_RECT_0) # draw projections for qs in projections: for k in range(0, 4): i, j = k, (k + 1) % 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), color, thickness, cv2.LINE_AA) i, j = k + 4, (k + 1) % 4 + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), color, thickness, cv2.LINE_AA) i, j = k, k + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), color, thickness, cv2.LINE_AA) # draw gt projections for qs in gt_projections: for k in range(0, 4): i, j = k, (k + 1) % 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), gt_color, thickness, cv2.LINE_AA) i, j = k + 4, (k + 1) % 4 + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), gt_color, thickness, cv2.LINE_AA) i, j = k, k + 4 cv2.line(img, (qs[i, 0], qs[i, 1]), (qs[j, 0], qs[j, 1]), gt_color, thickness, cv2.LINE_AA) return cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_BGR2RGB)