def kaggle7_chip_src(aid=None, ibs=None, **kwargs): from six.moves import cStringIO as StringIO from PIL import Image # NOQA from flask import current_app, send_file from wbia.web import appfuncs as appf import six if ibs is None: ibs = current_app.ibs aid = int(aid) aid_list = [aid] chip_paths = ibs.depc_annot.get('KaggleSevenChip', aid_list, 'image', read_extern=False, ensure=True) chip_path = chip_paths[0] # Load image assert chip_paths is not None, 'chip path should not be None' image = vt.imread(chip_path, orient='auto') image = appf.resize_via_web_parameters(image) image = image[:, :, ::-1] # Encode image image_pil = Image.fromarray(image) if six.PY2: img_io = StringIO() else: img_io = BytesIO() image_pil.save(img_io, 'JPEG', quality=100) img_io.seek(0) return send_file(img_io, mimetype='image/jpeg')
def experiments_image_src(tag=None, **kwargs): tag = tag.strip().split('-') db = tag[0] gid = int(tag[1]) ibs = experiment_init_db(db) config = { 'thumbsize': 800, } gpath = ibs.get_image_thumbpath(gid, ensure_paths=True, **config) # Load image image = vt.imread(gpath, orient='auto') image = appf.resize_via_web_parameters(image) return appf.embed_image_html(image, target_width=None)
def _resize_src(image, resize=False, **kwargs): # Load image if resize is None: image_src = appf.embed_image_html(image, target_width=None, target_height=None) elif resize: image = appf.resize_via_web_parameters(image) image_src = appf.embed_image_html(image, target_width=None, target_height=None) else: image_src = appf.embed_image_html(image) return image_src
def image_src_api(rowid=None, thumbnail=False, fresh=False, **kwargs): r""" Returns the image file of image <gid> Example: >>> from wbia.web.app import * # NOQA >>> import wbia >>> with wbia.opendb_with_web('testdb1') as (ibs, client): ... resp = client.get('/api/image/src/1/') >>> print(resp.data) b'\xff\xd8\xff\xe0\x00\x10JFIF... RESTful: Method: GET URL: /api/image/src/<rowid>/ """ from PIL import Image # NOQA thumbnail = thumbnail or 'thumbnail' in request.args or 'thumbnail' in request.form ibs = current_app.ibs if thumbnail: gpath = ibs.get_image_thumbpath(rowid, ensure_paths=True) fresh = fresh or 'fresh' in request.args or 'fresh' in request.form if fresh: # import os # os.remove(gpath) ut.delete(gpath) gpath = ibs.get_image_thumbpath(rowid, ensure_paths=True) else: gpath = ibs.get_image_paths(rowid) # Load image assert gpath is not None, 'image path should not be None' image = vt.imread(gpath, orient='auto') image = appf.resize_via_web_parameters(image) image = image[:, :, ::-1] # Encode image image_pil = Image.fromarray(image) if six.PY2: img_io = StringIO() else: img_io = BytesIO() image_pil.save(img_io, 'JPEG', quality=100) img_io.seek(0) return send_file(img_io, mimetype='image/jpeg')
def image_src_api(rowid=None, thumbnail=False, fresh=False, **kwargs): r""" Returns the image file of image <gid> Example: >>> # xdoctest: +REQUIRES(--web-tests) >>> from wbia.web.app import * # NOQA >>> import wbia >>> with wbia.opendb_bg_web('testdb1', start_job_queue=False, managed=True) as web_ibs: ... resp = web_ibs.send_wbia_request('/api/image/src/1/', type_='get', json=False) >>> print(resp) RESTful: Method: GET URL: /api/image/src/<rowid>/ """ from PIL import Image # NOQA thumbnail = thumbnail or 'thumbnail' in request.args or 'thumbnail' in request.form ibs = current_app.ibs if thumbnail: gpath = ibs.get_image_thumbpath(rowid, ensure_paths=True) fresh = fresh or 'fresh' in request.args or 'fresh' in request.form if fresh: # import os # os.remove(gpath) ut.delete(gpath) gpath = ibs.get_image_thumbpath(rowid, ensure_paths=True) else: gpath = ibs.get_image_paths(rowid) # Load image assert gpath is not None, 'image path should not be None' image = vt.imread(gpath, orient='auto') image = appf.resize_via_web_parameters(image) image = image[:, :, ::-1] # Encode image image_pil = Image.fromarray(image) if six.PY2: img_io = StringIO() else: img_io = BytesIO() image_pil.save(img_io, 'JPEG', quality=100) img_io.seek(0) return send_file(img_io, mimetype='image/jpeg')
def background_src_api(rowid=None, fresh=False, **kwargs): r""" Returns the image file of annot <aid> Example: >>> # xdoctest: +REQUIRES(--slow) >>> # xdoctest: +REQUIRES(--web-tests) >>> from wbia.web.app import * # NOQA >>> import wbia >>> with wbia.opendb_with_web('testdb1') as (ibs, client): ... resp = client.get('/api/background/src/1/') >>> print(resp.data) b'\xff\xd8\xff\xe0\x00\x10JFIF... RESTful: Method: GET URL: /api/annot/src/<rowid>/ """ from PIL import Image # NOQA ibs = current_app.ibs gpath = ibs.get_annot_probchip_fpath(rowid) # Load image assert gpath is not None, 'image path should not be None' image = vt.imread(gpath, orient='auto') image = appf.resize_via_web_parameters(image) image = image[:, :, ::-1] # Encode image image_pil = Image.fromarray(image) if six.PY2: img_io = StringIO() else: img_io = BytesIO() image_pil.save(img_io, 'JPEG', quality=100) img_io.seek(0) return send_file(img_io, mimetype='image/jpeg')
def background_src_api(rowid=None, fresh=False, **kwargs): r""" Returns the image file of annot <aid> Example: >>> # WEB_DOCTEST >>> from wbia.web.app import * # NOQA >>> import wbia >>> with wbia.opendb_bg_web('testdb1', start_job_queue=False, managed=True) as web_ibs: ... resp = web_ibs.send_wbia_request('/api/background/src/1/', type_='get', json=False) >>> print(resp) RESTful: Method: GET URL: /api/annot/src/<rowid>/ """ from PIL import Image # NOQA ibs = current_app.ibs gpath = ibs.get_annot_probchip_fpath(rowid) # Load image assert gpath is not None, 'image path should not be None' image = vt.imread(gpath, orient='auto') image = appf.resize_via_web_parameters(image) image = image[:, :, ::-1] # Encode image image_pil = Image.fromarray(image) if six.PY2: img_io = StringIO() else: img_io = BytesIO() image_pil.save(img_io, 'JPEG', quality=100) img_io.seek(0) return send_file(img_io, mimetype='image/jpeg')