Преобразование изображений к типу 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)