imgproc/src/morph.simd.hpp:756: error:(-213:The function/feature is not implemented)解决方案
问题描述
在使用下面代码进行运行时(其中“pred”为模型分割后的中间值)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
erode = cv2.erode(pred,kernel)
报下面错误
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'
问题分析
首先初步分析时数据类型出错,通过输出我的“pred”变量的类型是uint32,然而cv2.erode需要的是“uint8”。
解决方法
在进行形态学操作前,提前将数据类型进行转化,使用.astype(‘uint8’),具体使用如下:
pred = pred.astype('uint8')
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
erode = cv2.erode(pred,kernel)