Ошибка OpenCV Python: неподдерживаемый тип данных (= 4) в функции 'cv :: opt_AVX2 :: getMorphologyRowFilter' - PullRequest
2 голосов
/ 04 мая 2020

Я пытаюсь удалить шум с помощью морфологии, и ядро ​​выдает ошибки:

import skimage.io as io
import numpy as np
import cv2

c=io.imread('circles.png').astype('bool')*1
x=np.random.random_sample(c.shape)
c[np.nonzero(x>0.95)]= 0
c[np.nonzero(x<=0.05)] = 1

opening = cv2.morphologyEx(c, cv2.MORPH_OPEN, np.ones((2,2),np.uint8))

io.imshow(opening)

ошибка:

error: OpenCV(4.1.2) C:/projects/opencv-python/opencv/modules/imgproc/src/morph.simd.hpp:756: error: (-213:The function/feature is not implemented) Unsupported data type (=4) in function 'cv::opt_AVX2::getMorphologyRowFilter'

1 Ответ

0 голосов
/ 04 мая 2020

Ваш тип данных (= 4) - это CV_32SC1, который является 32-битным подписанным одноканальным каналом - вам нужно преобразовать ваши данные в другой тип данных, я бы рекомендовал использовать CV_8UC1 из-за минимального объема памяти и простоты использования :

c = c.astype('uint8') # or c.astype(np.byte)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...