i'm studying flask. when i select an image file, i want to convert that image grayscale by cv2. but cv2.imread
can't read variable . i make new function or add some code line? i think there is nothing to change in html
app.py
from flask import Flask, render_template, request, redirect, url_for,send_from_directory
from werkzeug.utils import secure_filename
import os
FOLDER_PATH = os.path.join('C:\\Users\\teran\\Desktop\\Ps_Sd\\uploads\\')
ALLOWED_EXTENSIONS = set([ 'png','PNG', 'jpg', 'jpeg'])
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = FOLDER_PATH
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return redirect(url_for('uploaded_file', filename=filename))
return render_template('upload.html')
@app.route('/show/<filename>')
def uploaded_file(filename):
filename = 'http://localhost:5000/uploads/' + filename
return render_template('upload.html', filename=filename)
@app.route('/uploads/<filename>')
def send_file(filename):
return send_from_directory(FOLDER_PATH, filename)
if __name__ == '__main__':
app.run(debug=True)