Beispiel #1
0
from flask import Flask, send_file
from random import randint
from flask import render_template
import os
from io import BytesIO
from image_container import ImageContainer
import base64

PATTERN_FOLDER = "static"
IMG_DIR = "/home/luud/dataset/deep_fashion"
SOURCE_FILE = "/home/luud/dataset/deep_fashion/Anno/list_bbox.txt"
DEST_FILE = ""

app = Flask(__name__)

img_container = ImageContainer(SOURCE_FILE, DEST_FILE, IMG_DIR)

def serve_pil_image(pil_img):
    img_io = BytesIO()
    pil_img.save(img_io, 'JPEG', quality=70)
    img_io.seek(0)
    b64 = base64.b64encode(img_io.read())
    return b64


@app.route('/')
@app.route('/index')
def index():
    name = "Annotator"
    quotes = [ "'If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.' -- John Louis von Neumann ",
               "'Computer science is no more about computers than astronomy is about telescopes' --  Edsger Dijkstra ",
Beispiel #2
0
 def __init__(self, book_info_list):
     self.book_info_list = book_info_list
     self.image_container = ImageContainer()
     return
Beispiel #3
0
    # generate_seeds()

    if len(sys.argv) != 2:
        raise ValueError("I need 1 arg, the seed filename")

    seed_filename = sys.argv[1]
    name = seed_filename.split('/')[-1].split('_')[0]
    if not os.path.isdir('output'):
        os.mkdir('output')
    output_dir = 'output/{}'.format(seed_filename.split('/')[-1].split('.')[0])
    if not os.path.isdir(output_dir):
        os.mkdir('output/{}'.format(
            seed_filename.split('/')[-1].split('.')[0]))

    # ############### for using cut images
    # seed_img = cv.imread(seed_filename)
    # cut_images_fns = glob.glob("cut_images/{}*".format(name))
    # img_containers = []
    # for cut_image_fn in cut_images_fns:
    #     img_containers.append(ImageContainer(cv.imread(cut_image_fn), param_type='point'))

    # ################ for whole images
    seed_img = cv.imread(seed_filename)
    img_filename = glob.glob("raw_images/{}*.tif".format(name))
    assert len(img_filename) == 1
    img_containers = [
        ImageContainer(cv.imread(img_filename[0]), param_type='point')
    ]

    find_closest(500, seed_img, img_containers, output_dir, step=600)
Beispiel #4
0
class RawBook(object):
    u"""
    负责数据进行处理,返回处理完毕的html信息和所有待下载图片的imgContainer
    """

    def __init__(self, book_info_list):
        self.book_info_list = book_info_list
        self.image_container = ImageContainer()
        return

    def get_image_container(self):
        return self.image_container



    def create_info_dict(self, kind, raw):
        info = {}

        def init_property():
            info['base_image_path'] = './image/'
            info['logo_liu_kan_shan'] = './image/kanshan.png'
            return

        def add_css():
            info['markdown_css'] = './markdown.css'
            info['front_css'] = './front.css'
            return

        def add_article_info():
            info['title'] = u'知乎专栏文章集锦'
            info['author_name'] = u'知乎网友'
            return

        def add_answer_info():
            info['title'] = u'知乎回答集锦'
            info['author_name'] = u'知乎网友'
            return

        def add_question_info():
            info['title'] = u'知乎问题集锦'
            info['author_name'] = u'知乎网友'
            return

        def add_topic_info():
            info.update(raw)
            info['logo'] = self.image_container.add(raw['logo'])
            return

        def add_collection_info():
            info.update(raw)
            return

        def add_column_info():
            info.update(raw)
            return

        add_customer_info = {'answer': add_answer_info, 'question': add_question_info, 'topic': add_topic_info,
                             'collection': add_collection_info, 'article': add_article_info,
                             'column': add_column_info, }

        init_property()
        add_css()
        add_customer_info[kind]()
        return info

    def create_info_page(self, kind, info_sql):
        with open('./html_template/info/{}.html'.format(kind)) as file:
            template = file.read()
        result = SqlClass.cursor.execute(info_sql).fetchone()
        info = self.create_info_dict(kind, SqlClass.wrap(kind, result))
        return template.format(info)