关于载入gpu.hpp文件包含的时候找不到,那是因为在3.X以后吧,名称改变了,你可以试一下core文件夹下的cuda.hpp
#include <opencv2/core/cuda.hpp>
using namespace cv::cuda;
针对部分不能成功加速的,下面上一个测试
try {
cout << getCudaEnabledDeviceCount();
} catch (const cv::Exception& ex) {
cout << "Error:" << ex.what() << endl;
}
应该输出的是1如果输出的是0,则说明没找到,最后会说原因。
关于gpu速度提升情况:
opencv在编译了cuda之后会出现一个install文件夹,只要成功编译了,就可以包含gpu库进行加速,可以进行训练与识别时候加速,速度提升四五十位以上,原来近1秒左右的1080P图片经过gpu加速可达到十几毫秒,我的gpu不差2080的,所以15、6秒吧,就处理了一帧。
关于内存占有情况:
如果gpu未找到,会自动切换到cpu的,速度就慢很多,而且你的cpu占用率会近100%,在vs的右边窗口就可以看到,而用了gpu的话,cpu的占用率会在20%以下,内存占用6个G左右。
关于gpu未找到的原因:
基本上两个原因之一:
1、你的opencv在编译的时候没有选择cuda让其支持gpu,你需要重新编译一个支持的库。
2、我明明编译了,但是就是没有包含文件,这时候要排查一下系统环境变量,如果里面有多包含,会默认用以前的,要把以前的opencv的路径删除,不要两个并存,另外不要犯小错误,你的工程中配置的三个路径也要改的哦,别忘了
关于Microsoft Visual Studio 配置Opencv4.3