ubuntu16.04+opencv3.4.6(gpu)+Clion(IDE)配置

1. 下载opencv源码和对应版本的opencv_contrib源码

opencv-github地址
https://github.com/opencv/opencv/releases
opencv_contrib-github地址
https://github.com/opencv/opencv_contrib

2. 下载CMake

CMake官方网站下载
https://cmake.org/download/

3. 使用CMake-gui图形化界面编译opencv

建议先在opencv目录下新建build目录


image.png

4. configure后Search

extra:选择opencv_contrib/modules
with_cuda:勾选

5. 再次configure

注意CUDA_TOOLKIT_ROOT_DIR选择正确的CUDA路径,一般是/usr/local/cuda;
千万不要勾选BUILD_CUDA_STUBS

6. Generate生成

7. 在opencv/build目录下打开终端输入make -j

该步骤时间较慢

8. 继续输入sudo make install

本步骤可能会持续2小时

9. 下载IDE,建议选择Clion

Clion官网地址https://www.jetbrains.com/clion/

10. 解压后可直接在bin目录下运行

命令bash clion.sh(可在.bashrc中添加环境变量)

11. 新建c++ 工程

CMakeLists.txt中加入opencv路径


image.png

12. 在Settings中将Toolchains改为CMake编译

选择路径/usr/bin/cmake

13. CMake选项中添加CUDA路径

image.png

14. 最后在使用opencv/gpu/gpu.hpp时注意将命名空间std放在#include上面

测试代码如下

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
#include <opencv2/gpu/gpu.hpp>

int main() {
    // std::cout << "Hello, World!" << std::endl;
    int num_devices = cv::cuda::getCudaEnabledDeviceCount();
    if(num_devices <= 0)
    {
        std::cerr << "There is no device." << std::endl;
        return -1;
    }
    std::cerr << "getCudaEnabledDeviceCount NUM:" << num_devices << std::endl;
    try {
        cv::Mat src_host = cv::imread("/home/cyz/CLionProjects/untitled1/1.png", CV_LOAD_IMAGE_GRAYSCALE);

        cv::cuda::GpuMat dst, src;
        src.upload(src_host);

        cv::cuda::threshold(src, dst, 128.0, 255.0, CV_THRESH_BINARY);

        cv::Mat result_host;
        dst.download(result_host);

        cv::imshow("Result", result_host);
        cv::waitKey();
    }
    catch(const cv::Exception& ex)
    {
        std::cout << "Error: " << ex.what() << std::endl;
    }
    return 0;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容