Преобразование изображений к типу UMat

Столкнулся с проблемой того, что opencv не любит никакой формат, кроме своего собственного. Получаю изображение с его помощью, но после применения wavelet из pywt выдает ошибку:

(-215:Assertion failed) _src.depth() == CV_8U in function 'cv::Canny'
img = cv2.imread('vlcsnap2.png')
Wave_img = pywt.wavedec2(img, 'coif2', level=4)
Rec_img = pywt.waverec2(Wave_img, 'coif2')
edge = cv2.Canny(Rec_img, 50, 50)

Сколько бы не смотрел в интернете, ни один метод не подошел, чтобы пройти эту ошибку.


Ответы (1 шт):

Автор решения: Alex Alex

Вот так попробуйте

import numpy as np
import cv2
import pywt
img = cv2.imread('vlcsnap2.png')
Wave_img = pywt.wavedec2(img, 'coif2', level=4)
Rec_img = pywt.waverec2(Wave_img, 'coif2')
Rec_img=Rec_img.astype(np.uint8)
edge = cv2.Canny(Rec_img, 50, 50) 
→ Ссылка