Ejemplo n.º 1
0
def equalize(_id, n=0):
    image = get_image(_id, n, pil=True)
    if image:
        image = ImgEnhance.equalize(image)
        image = PIL_tobytes(image)
        return Response(response=image, mimetype='image/jpeg')
    return 'Sem imagem'
Ejemplo n.º 2
0
def contrast_cv2(_id, n=0):
    image = get_image(_id, n, pil=True)
    if image:
        image = ImgEnhance.enhancedcontrast_cv2(image)
        image = PIL_tobytes(image)
        return Response(response=image, mimetype='image/jpeg')
    return 'Sem imagem'
Ejemplo n.º 3
0
def colorize():
    _id = request.args.get('_id')
    n = request.args.get('n', 0)
    alpha = request.args.get('alpha', '12')
    beta = request.args.get('beta', '14')
    equalize = request.args.get('equalize', False) == 'True'
    image = get_image(_id, n, pil=True)
    if image:
        alpha = float(alpha) / 10.
        beta = float(beta) / 10.
        image = ImgEnhance.expand_tocolor(image,
                                          alpha=alpha,
                                          beta=beta,
                                          equalize=equalize)
        image = PIL_tobytes(image)
        return Response(response=image, mimetype='image/jpeg')
    return 'Sem imagem'
Ejemplo n.º 4
0
def img_contrast():
    _id = request.args.get('_id')
    n = request.args.get('n', 0)
    cutoff = request.args.get('cutoff', '10')
    equalize = request.args.get('equalize', False) == 'True'
    colorize = request.args.get('colorize', False) == 'True'
    cv2 = request.args.get('cv2', False) == 'True'
    image = get_image(_id, n, pil=True)
    if image:
        cutoff = int(cutoff)
        image = ImgEnhance.autocontrast(image,
                                        cutoff=cutoff,
                                        colorize=colorize,
                                        equalize=equalize,
                                        cv2=cv2)
        image = PIL_tobytes(image)
        return Response(response=image, mimetype='image/jpeg')
    return 'Sem imagem'
Ejemplo n.º 5
0
def image_id(db, _id):
    """Recupera a imagem do banco e serializa para stream HTTP.

    """
    image = mongo_image(db, _id)
    try:
        size = request.args.get('size')
        if size:
            width, height = map(int, size.split(','))
            pil_img = Image.open(io.BytesIO(image))
            pil_img.thumbnail((width, height))
            image = PIL_tobytes(pil_img)
    except Exception as err:
        logger.error('Erro ao processar parâmetro size em /image: %s' %
                     str(err))

    if image:
        return Response(response=image, mimetype='image/jpeg')
    return 'Sem Imagem'
Ejemplo n.º 6
0
def image_id(_id):
    """Recupera a imagem do banco e serializa para stream HTTP.

    Estes métodos dispensam autenticação, pois é necessário ter um _id válido.
    O padrão é retornar um bounding box desenhado.
    Para evitar o bbox, passar ?bboxes=False na url
    """
    db = app.config['mongodb']
    bboxes = request.args.get('bboxes', 'True').lower() == 'true'
    image = mongo_image(db, _id, bboxes=bboxes)
    if image:
        contrast, color = get_contrast_and_color_(request)
        if contrast or color:
            PILimage = bytes_toPIL(image)
            if contrast:
                PILimage = ImgEnhance.enhancedcontrast_cv2(PILimage)
            if color:
                PILimage = ImgEnhance.expand_tocolor(PILimage)
            image = PIL_tobytes(PILimage)
        return Response(response=image, mimetype='image/jpeg')
    return 'Sem Imagem'