1. 【入坑指南】| OpenCV4.8 + CUDA + 扩展模块支持编译
OpenCV4.8 + CUDA + 扩展模块支持编译的入坑指南如下:
确保软件版本满足要求:
启动CMake进行配置:
设置扩展模块路径并配置CUDA选项:
生成并编译项目:
编译技巧与注意事项:
验证CUDA加速效果:
通过上述步骤,你可以成功编译OpenCV4.8并支持CUDA加速以及扩展模块。这将显着提升图像处理程序的性能。如需更多CUDA函数使用知识,可参考相关书籍或在线资源。
2. Linux 如何运行benchmark循环跑
Linux 如何运行benchmark循环跑如下
benchmark中包含了跑benchmark的源码benchncnn.cpp,感兴趣的可以先看一下里面的内容。在Linux的文件根目录下,新建一个build文件夹并进入,当然也可以不叫build,随便你自己起。mkdir build && cd build进入之后就可以进行编译了,编译之后在build文件夹下会生成一个叫benchmark的文件夹,之后的工作会在这里进行。编译用的是cmake,这里如果有问题的话可以注意一下cmake的版本,我用的版本是3.12.3。具体命令如下:cmake .
make -j8这里cmake编译实际上是要根据上一层文件夹的CMakeLists.txt的文本来的,这里的..其实就是表示的上一层文件夹。 Make -j后面的数字是开几个核,根据自己电脑的实际情况来。执行完成之后就可以看到build里有了benchmark的文件夹。
入这个文件夹,可以看到一个benchncnn的可执行文件已经编译好了,运行这个可执行文件就可以测试模型的速度。但是这个可执行文件默认的是找到当前文件夹下的param格式的文件。
所有自带的模型文件都在ncnn根目录下的benchmark的文件夹中,把里面所有的param文件都拷贝到现在的benchmark文件夹,然后执行如下命令./benchncnn 4 2 0 -1
第一个数字表示测试次数,第二个表示开的线程数(这一点ncnn做的不错),最后一个数字-1表示只测cpu。NCNN交叉编译到rk3288(armv7架构)和rk3399(armv8架构)的方法。