Я отправляю изображение base64 на сервер flask
. Затем изображение base64 декодируется и сохраняется на моем локальном компьютере с помощью обработки файлов. После сохранения файла я использую opencv 2.0
function imread
для чтения изображения и imshow
для его отображения. Но он отображает полностью черное изображение (с нулевым массивом, равным нулю). Изображение отображается правильно с помощью средства просмотра изображений.
Какие могут быть возможные решения?
Я пытался заменить OpenCV на matplotlib
, но он тоже не работает. Даже добавил imread_unchanged, чтобы возвращаемое изображение не обрезалось.
image_64_encoded="contains base64 encoded image"
fh = open("imageToSave.png", "w")
fh.write(image_64_encoded.decode('base64'))
fh.close()
script_dir = os.path.dirname(__file__)
rel_path = "../shape-detection/imageToSave.png"
abs_file_path = os.path.join(script_dir, rel_path)
print("\n",abs_file_path,"\n\n")
image = cv2.imread(abs_file_path)
print(image);
cv2.imshow('image',image)
Ожидаемый результат должен совпадать с отображением в средстве просмотра изображений. Но он отображает чисто черное изображение.
Фактическое изображение из средства просмотра изображений
![Actual image from image viewer](https://i.stack.imgur.com/43eNP.png)
изображение, отображаемое cv2.imshow ()
![image displayed by cv2.imshow()](https://i.stack.imgur.com/tzpyi.png)