Esempio n. 1
0
def upload_img():
    print("image upload")
    result = 'static/result'
    if not gfile.Exists(result):
        os.mkdir(result)
    shutil.rmtree(result)

    if request.method == 'POST' or request.method == 'GET':
        print(request.method)
        # check if the post request has the file part
        if 'file' not in request.files:

            print('No file part')
            return redirect(request.url)

        file = request.files['file']
        print(file.filename)
        # if user does not select file, browser also
        # submit a empty part without filename
        if file.filename == '':

            print('No selected file')
            return redirect(request.url)
        if file and allowed_file(file.filename):

            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            inputloc = os.path.join(app.config['UPLOAD_FOLDER'], filename)
            #outputloc = '/home/vinayak/todo-api/out'
            recommend(inputloc, extracted_features)
            os.remove(inputloc)
            #label = label1.replace("\n", "")
            image_path = "/result"
            image_list = [
                os.path.join(image_path, file) for file in os.listdir(result)
                if not file.startswith('.')
            ]
            images = {
                'image0': image_list[0],
                #          'image1':image_list[1],
                # 'image2':image_list[2],
                # 'image3':image_list[3],
                # 'image4':image_list[4],
                # 'image5':image_list[5],
                # 'image6':image_list[6],
                # 'image7':image_list[7],
                # 'image8':image_list[8]
            }
            return jsonify(images)
Esempio n. 2
0
def main():
    if request.method == 'POST':
        upload = 'static/Upload'
        if not gfile.Exists(upload):
            os.mkdir(upload)
            print(
                '_________________________upload directory_created________________________________'
            )
        app.config["upload"] = upload

        result = 'static/result'
        if not gfile.Exists(result):
            os.mkdir(result)
        # print(request.method)

        confidence = request.form['conf']
        confidence = int(confidence)

        mode = request.form['mod']
        mode = int(mode)

        # check if the post request has the file part
        if 'query_img' not in request.files:
            print('No file part')
            return redirect(request.url)
        file = request.files['query_img']
        print("Given File:- ", file.filename)
        # if user does not select file, browser also
        # submit a empty part without filename
        if file.filename == '':
            print('No selected file')
            return redirect(request.url)
        if file and file.filename.split('.')[-1] in ALLOWED_EXTENSIONS:
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['upload'], file.filename))

            inputloc = os.path.join(app.config['upload'], file.filename)

            success, rows = database.check_img(filename)
            if success == True:
                result_images, total_results_img = database.fetch_data(
                    filename)
                final_result_images = result_images
                uploaded_img_path = os.path.join(app.config['upload'],
                                                 filename)[7:]
                return render_template('index.html',
                                       query_path=uploaded_img_path,
                                       result_images=final_result_images,
                                       total_images=int(rows[1]),
                                       total_results=int(rows[0]))
            else:
                if mode == 1:
                    _,total_results, total_images = search.recommend(inputloc, all_extracted_features_design, all_extracted_features_d_c,\
                                                      'neighbor_all', filename, confidence, detection_graph, category_index)
                    result_images, total_results_img = database.fetch_data(
                        filename)
                    final_result_images = result_images
                    uploaded_img_path = os.path.join(app.config['upload'],
                                                     filename)[7:]
                    return render_template('index.html',
                                           query_path=uploaded_img_path,
                                           result_images=final_result_images,
                                           total_images=total_images,
                                           total_results=total_results)
                elif mode == 2:
                    _,total_results, total_images = search.recommend_bracelet(inputloc, bracelate_extracted_features_design, bracelate_extracted_features_d_c,\
                                                    'neighbor_bracelate', filename,  confidence, bracelet_, category_index_Bracelet_D_C)
                    result_images, total_results_img = database.fetch_data(
                        filename)
                    final_result_images = result_images
                    uploaded_img_path = os.path.join(app.config['upload'],
                                                     filename)[7:]
                    return render_template('index.html',
                                           query_path=uploaded_img_path,
                                           result_images=final_result_images,
                                           total_images=total_images,
                                           total_results=total_results)
                elif mode == 3:
                    _,total_results, total_images = search.recommend_earring(inputloc, earring_extracted_features_design,\
                                                      'neighbor_earring', filename, confidence, earring_, category_index_Earring_D)
                    result_images, total_results_img = database.fetch_data(
                        filename)
                    final_result_images = result_images
                    uploaded_img_path = os.path.join(app.config['upload'],
                                                     filename)[7:]
                    return render_template('index.html',
                                           query_path=uploaded_img_path,
                                           result_images=final_result_images,
                                           total_images=total_images,
                                           total_results=total_results)
                elif mode == 4:
                    _,total_results, total_images = search.recommend_necklace(inputloc, necklace_extracted_features_design,\
                                                      'neighbor_necklace', filename, confidence, necklace_, category_index_Necklace_D)
                    result_images, total_results_img = database.fetch_data(
                        filename)
                    final_result_images = result_images
                    uploaded_img_path = os.path.join(app.config['upload'],
                                                     filename)[7:]
                    return render_template('index.html',
                                           query_path=uploaded_img_path,
                                           result_images=final_result_images,
                                           total_images=total_images,
                                           total_results=total_results)
                elif mode == 5:
                    _,total_results, total_images = search.recommend_pendant(inputloc, pendant_extracted_features_design, pendant_extracted_features_d_c,\
                                                      'neighbor_pendant', filename, confidence, pendant_, category_index_Pendant_D_C)
                    result_images, total_results_img = database.fetch_data(
                        filename)
                    final_result_images = result_images
                    uploaded_img_path = os.path.join(app.config['upload'],
                                                     filename)[7:]
                    return render_template('index.html',
                                           query_path=uploaded_img_path,
                                           result_images=final_result_images,
                                           total_images=total_images,
                                           total_results=total_results)
                elif mode == 6:
                    _,total_results, total_images = search.recommend_ring(inputloc, rings_extracted_features_design, rings_extracted_features_d_c,\
                                                      rings_extracted_features_d_m, 'neighbor_ring', filename, confidence,
                                                      ring_, category_index_Ring_D_C_M)
                    result_images, total_results_img = database.fetch_data(
                        filename)
                    final_result_images = result_images
                    uploaded_img_path = os.path.join(app.config['upload'],
                                                     filename)[7:]
                    return render_template('index.html',
                                           query_path=uploaded_img_path,
                                           result_images=final_result_images,
                                           total_images=total_images,
                                           total_results=total_results)
    else:
        return render_template('index.html')