【发布时间】:2020-06-13 11:56:48
【问题描述】:
在使用 Opencv 比较两个图像后,我试图在 fastAPI 中返回一个图像。
这是我到目前为止所做的:
from fastapi import FastAPI , File, UploadFile
import numpy as np
from cv2 import *
import os
import base64
app = FastAPI(debug = True)
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...),file1: UploadFile = File(...)):
content = await file.read()
nparr = np.fromstring(content, np.uint8)
img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
content1 = await file1.read()
nparr1 = np.fromstring(content1, np.uint8)
img1 = cv2.imdecode(nparr1, cv2.IMREAD_COLOR)
akaze = cv2.AKAZE_create()
kpts1, desc1 = akaze.detectAndCompute(img, None)
kpts2, desc2 = akaze.detectAndCompute(img1, None)
matcher = cv2.DescriptorMatcher_create(cv2.DescriptorMatcher_BRUTEFORCE_HAMMING)
matches_1 = matcher.knnMatch(desc1, desc2, 2)
good_points = []
for m,n in matches_1:
if m.distance < 0.7 * n.distance:
good_points.append(m)
mat = (round(len(kpts2)/len(good_points),2))
我遇到错误的地方
return_img = cv2.processImage(img)
_, encoded_img = cv2.imencode('.PNG', return_img)
encoded_img = base64.b64encode(return_img)
return {"The similarity is": mat,'encoded_img': endcoded_img}
我做错了什么?
【问题讨论】:
-
您介意粘贴要求吗?
-
@MarceloTrylesinski ,我想使用 fastapi 返回图像,可以吗?
-
How do I return an image in fastAPI? 回答你的问题了吗?
-
这能回答你的问题吗? How do I return an image in fastAPI?
标签: python api opencv opencv3.1 fastapi