def testshow_extramargin_info(gfpath, bbox_gs, theta, new_size, halfoffset_ms, mbbox_gs, margin_size): import plottool as pt import vtool as vt imgBGR = vt.imread(gfpath) chipBGR = compute_chip(gfpath, bbox_gs, theta, new_size, []) mchipBGR = compute_chip(gfpath, mbbox_gs, theta, margin_size, []) #index = 0 w_cs, h_cs = new_size xo_ms, yo_ms = halfoffset_ms bbox_ms = [xo_ms, yo_ms, w_cs, h_cs] verts_gs = vt.scaled_verts_from_bbox(bbox_gs, theta, 1, 1) expanded_verts_gs = vt.scaled_verts_from_bbox(mbbox_gs, theta, 1, 1) expanded_verts_ms = vt.scaled_verts_from_bbox(bbox_ms, 0, 1, 1) # topheavy imgBGR = vt.draw_verts(imgBGR, verts_gs) imgBGR = vt.draw_verts(imgBGR, expanded_verts_gs) mchipBGR = vt.draw_verts(mchipBGR, expanded_verts_ms) fnum = 1 pt.imshow(imgBGR, pnum=(1, 3, 1), fnum=fnum, title='original image') pt.gca().set_xlabel(str(imgBGR.shape)) pt.imshow(chipBGR, pnum=(1, 3, 2), fnum=fnum, title='original chip') pt.gca().set_xlabel(str(chipBGR.shape)) pt.imshow(mchipBGR, pnum=(1, 3, 3), fnum=fnum, title='scaled chip with expanded margin.\n(orig margin drawn in orange)') pt.gca().set_xlabel(str(mchipBGR.shape)) pt.show_if_requested()
def testshow_extramargin_info(ibs, aid_list, arg_list, newsize_list, halfoffset_cs_list): #cfpath, gfpath, bbox, theta, new_size, filter_list = tup # TEMP TESTING from vtool import chip as ctool import plottool as pt import vtool as vt from ibeis.viz import viz_chip index = 0 cfpath, gfpath, bbox, theta, new_size, filter_list = arg_list[index] chipBGR = ctool.compute_chip(gfpath, bbox, theta, new_size, filter_list) bbox_cs_list = [ (xo_pcs, yo_pcs, w_pcs, h_pcs) for (w_pcs, h_pcs), (xo_pcs, yo_pcs) in zip(newsize_list, halfoffset_cs_list) ] bbox_pcs = bbox_cs_list[index] aid = aid_list[0] print('new_size = %r' % (new_size,)) print('newsize_list[index] = %r' % (newsize_list[index],)) fnum = 1 viz_chip.show_chip(ibs, aid, pnum=(1, 3, 1), fnum=fnum, annote=False, in_image=True , title_suffix='\noriginal image') viz_chip.show_chip(ibs, aid, pnum=(1, 3, 2), fnum=fnum, annote=False, title_suffix='\noriginal chip') bboxed_chip = vt.draw_verts(chipBGR, vt.scaled_verts_from_bbox(bbox_pcs, theta, 1, 1)) pt.imshow(bboxed_chip, pnum=(1, 3, 3), fnum=fnum, title='scaled chip with expanded margin.\n(orig margin drawn in orange)') pt.show_if_requested()
def testshow_extramargin_info(gfpath, bbox_gs, theta, new_size, halfoffset_ms, mbbox_gs, margin_size): import plottool as pt import vtool as vt imgBGR = vt.imread(gfpath) chipBGR = compute_chip(gfpath, bbox_gs, theta, new_size, []) mchipBGR = compute_chip(gfpath, mbbox_gs, theta, margin_size, []) #index = 0 w_cs, h_cs = new_size xo_ms, yo_ms = halfoffset_ms bbox_ms = [xo_ms, yo_ms, w_cs, h_cs] verts_gs = vt.scaled_verts_from_bbox(bbox_gs, theta, 1, 1) expanded_verts_gs = vt.scaled_verts_from_bbox(mbbox_gs, theta, 1, 1) expanded_verts_ms = vt.scaled_verts_from_bbox(bbox_ms, 0, 1, 1) # topheavy imgBGR = vt.draw_verts(imgBGR, verts_gs) imgBGR = vt.draw_verts(imgBGR, expanded_verts_gs) mchipBGR = vt.draw_verts(mchipBGR, expanded_verts_ms) fnum = 1 pt.imshow(imgBGR, pnum=(1, 3, 1), fnum=fnum, title='original image') pt.gca().set_xlabel(str(imgBGR.shape)) pt.imshow(chipBGR, pnum=(1, 3, 2), fnum=fnum, title='original chip') pt.gca().set_xlabel(str(chipBGR.shape)) pt.imshow( mchipBGR, pnum=(1, 3, 3), fnum=fnum, title='scaled chip with expanded margin.\n(orig margin drawn in orange)' ) pt.gca().set_xlabel(str(mchipBGR.shape)) pt.show_if_requested()
def testshow_extramargin_info(ibs, aid_list, arg_list, newsize_list, halfoffset_cs_list): #cfpath, gfpath, bbox, theta, new_size, filter_list = tup # TEMP TESTING from vtool import chip as ctool import plottool as pt import vtool as vt from ibeis.viz import viz_chip index = 0 cfpath, gfpath, expanded_bbox, theta, expanded_new_size, filter_list = arg_list[ index] expanded_chipBGR = ctool.compute_chip(gfpath, expanded_bbox, theta, expanded_new_size, filter_list) bbox_cs_list = [ (xo_pcs, yo_pcs, w_pcs, h_pcs) for (w_pcs, h_pcs), (xo_pcs, yo_pcs) in zip(newsize_list, halfoffset_cs_list) ] bbox_pcs = bbox_cs_list[index] aid = aid_list[0] #print('new_size = %r' % (new_size,)) print('newsize_list[index] = %r' % (newsize_list[index], )) fnum = 1 viz_chip.show_chip(ibs, aid, pnum=(1, 3, 1), fnum=fnum, annote=False, in_image=True, title_suffix='\noriginal image') viz_chip.show_chip(ibs, aid, pnum=(1, 3, 2), fnum=fnum, annote=False, title_suffix='\noriginal chip') bboxed_chip = vt.draw_verts( expanded_chipBGR, vt.scaled_verts_from_bbox(bbox_pcs, theta, 1, 1)) pt.imshow( bboxed_chip, pnum=(1, 3, 3), fnum=fnum, title='scaled chip with expanded margin.\n(orig margin drawn in orange)' ) pt.gca().set_xlabel(str(bboxed_chip.shape)) pt.show_if_requested()
def draw_thumb_helper(tup): thumbsize, gpath, orient, bbox_list, theta_list = tup # time consuming # img = vt.imread(gpath, orient=orient) img = vt.imread(gpath) (gh, gw) = img.shape[0:2] img_size = (gw, gh) if isinstance(thumbsize, int): max_dsize = (thumbsize, thumbsize) dsize, sx, sy = vt.resized_clamped_thumb_dims(img_size, max_dsize) elif isinstance(thumbsize, tuple) and len(thumbsize) == 2: th, tw = thumbsize dsize, sx, sy = thumbsize, tw / gw, th / gh else: raise ValueError('Incompatible thumbsize') new_verts_list = list(vt.scaled_verts_from_bbox_gen(bbox_list, theta_list, sx, sy)) # ----------------- # Actual computation thumb = vt.resize(img, dsize) orange_bgr = (0, 128, 255) for new_verts in new_verts_list: thumb = vt.draw_verts(thumb, new_verts, color=orange_bgr, thickness=2) width, height = dsize return thumb, width, height