我的烧瓶应用程序未读取输入图像

时间:2020-01-23 08:03:45

标签: python sqlite flask

我创建了一个Image分类器Flask应用程序,但是它不读取我输入的图像(都不显示)。我已经尝试了在互联网上找到的所有解决方案,但无法解决我的问题。

下面是我正在使用的Flask API:

@app.route('/upload',methods=['GET','POST'])
def upload_analyze():

    if request.method == 'POST':
        # check if a file was passed into the POST request
        if 'image' not in request.files:
            flash('No file was uploaded.')
            return redirect(request.url)


        image_file = request.files['image']
        #print(image_file)
        image_file = str(image_file)
        image = cv2.imread(image_file)

        clt = KMeans(n_clusters = 3)
        dataset = pd.read_csv('bb22.csv') 
        X = dataset.iloc[:, 1: 8].values
        sc = StandardScaler()
        global orig , r
            # load the image, convert it to grayscale, and blur it slightly
        #images = np.array(Image.open(image_file))
        gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
        gray = cv2.GaussianBlur(gray, (7, 7), 0)
        ................

它获取谷物的输入图像,计算其长度,宽度,并判断其整体(1)/破碎(0)

1 个答案:

答案 0 :(得分:1)

我发现this个flask文件在线上传了示例代码。

我认为您代码中的问题是request.files['image']的返回值是一个对象,该对象具有类似save()filename()的方法。 cv2.imread()需要一个文件作为输入,因此str(image_file)不起作用。

在上面的链接中查看示例,以了解如何使用返回值保存文件:

f = request.files['file']
filename = secure_filename(f.filename)
f.save(filename)
image = cv2.imread(filename)