最近在配置好OpenCV4.5.1环境后发现有些比较久之前的代码没法运行了,看了一下源码发现是之前的代码都用C语言风格来写,因此会有cvImshow,cvImread的函数出现。
解决方法1:添加c语言风格的头文件
在编译时出现不存在cv.h头文件,是因为在OpenCV4之后取消了这个头文件,在程序头文件中添加可以解决:
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/imgproc/types_c.hpp>
#include<opencv2/highgui/highgui_c.hpp>
如果还是不行,可以进到\include\opencv2文件夹下搜索*_c.h找到对应函数的C API
解决方法2:利用函数对不同类型进行赋值
如果在程序中出现IplImage ipl=mat
报错,是因为Mat
类型无