def net(): # создаем объект формы form = NetForm() # обнуляем переменные передаваемые в форму filename = None neurodic = {} # проверяем нажатие сабмит и валидацию введенных данных if form.validate_on_submit(): # файлы с изображениями читаются из каталога static filename = os.path.join('./static', secure_filename(form.upload.data.filename)) fcount, fimage = neuronet.read_image_files(10, './static') # передаем все изображения в каталоге на классификацию # можете изменить немного код и передать только загруженный файл decode = neuronet.getresult(fimage) # записываем в словарь данные классификации for elem in decode: neurodic[elem[0][1]] = elem[0][2] # сохраняем загруженный файл form.upload.data.save(filename) # передаем форму в шаблон, так же передаем имя файла и результат работы нейронной # сети если был нажат сабмит, либо передадим falsy значения return render_template('net.html', form=form, image_name=filename, neurodic=neurodic)
def apinet(): # проверяем что в запросе json данные if request.mimetype == 'application/json': # получаем json данные data = request.get_json() # берем содержимое по ключу, где хранится файл # закодированный строкой base64 # декодируем строку в массив байт используя кодировку utf-8 # первые 128 байт ascii и utf-8 совпадают, потому можно filebytes = data['imagebin'].encode('utf-8') # декодируем массив байт base64 в исходный файл изображение cfile = base64.b64decode(filebytes) # чтобы считать изображение как файл из памяти используем BytesIO img = Image.open(BytesIO(cfile)) decode = neuronet.getresult([img]) neurodic = {} for elem in decode: neurodic[elem[0][1]] = str(elem[0][2]) print(elem) # пример сохранения переданного файла # handle = open('./static/f.png','wb') # handle.write(cfile) # handle.close() # преобразуем словарь в json строку ret = json.dumps(neurodic) # готовим ответ пользователю resp = Response(response=ret, status=200, mimetype="application/json") # возвращаем ответ return resp
def net(): form = NetForm() filename=None neurodic = {} if form.validate_on_submit(): filename = os.path.join('./static', secure_filename(form.upload.data.filename)) fcount, fimage = neuronet.read_image_files(10,'./static') decode = neuronet.getresult(fimage) for elem in decode: neurodic[elem[0][1]] = elem[0][2] form.upload.data.save(filename) return render_template('net.html',form=form,image_name=filename,neurodic=neurodic)
def apinet(): if request.mimetype == 'application/json': data = request.get_json() filebytes = data['imagebin'].encode('utf-8') cfile = base64.b64decode(filebytes) img = Image.open(BytesIO(cfile)) decode = neuronet.getresult([img]) neurodic = {} for elem in decode: neurodic[elem[0][1]] = str(elem[0][2]) print(elem) ret = json.dumps(neurodic) resp = Response(response=ret, status=200, mimetype="application/json") return resp
def net(): #create form object form = NewForm() filename = None neurodic = {} #if 'submit' was pressed if form.validate_on_submit(): #read image from static cataloge filename = os.path.join('./static', secure_filename(form.upload.data.filename)) fcount, fimage = neuronet.read_image_files(10, './static') decode = neuronet.getresult(fimage) for elem in decode: neurodic[elem[0][1]] = elem[0][2] #file saving form.upload.data.save(filename) return render_template('net.html', form=form, image_name=filename, neurodic=neurodic)