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 ",
def __init__(self, book_info_list): self.book_info_list = book_info_list self.image_container = ImageContainer() return
# 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)
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)