python的报错还能更离谱吗。。。回滚环境,还是在调用 cv2.dft 函数时报错,改成umat、np.array报错变化。
TypeError: Expected Ptr<cv::UMat> for argument '%s'
error: (-215:Assertion failed) type == CV_32FC1 || type == CV_32FC2 || type == CV_64FC1 || type == CV_64FC2 in function 'cv::dft'
代码是原代码,环境也是原环境,但报错,我循着报错信息修改代码。我想着代码的报错信息应该很可信,结果,要不是我排除了所有的原因,去check路径,还真找不出来。
原因其实是:路径不正确,图片没有正常读入。修改了路径后原代码可正常运行。
也就是说报错在opencv相关代码中,opencv的imread函数没有正确读入图片但没有报错,反而是在其他位置报错,所以涉及到opencv的代码要小心了,报错信息可能不可信。