M1下将opencv配置进Clion

在过去的半周里面翻遍资料想要建立opencv的C++环境,先是使用Visual Studio for Mac2022,查不到资料,无果。然后用VS code,但是那个c++语言环境总是配不上还是怎么;发现了一篇clion的文章,大多使用的是命令行。照着文章也有点不太行。

这里是比较全的方案:

1、确保你的电脑上已经下载好了opencv,这里我用的是某个大佬开发的命令行控制,进入终端 复制粘贴几乎全自动下载,但是有点忘记是哪了。然后还要下载与之相关的cmake和其他的。如果不知道什么缺失了,就从终端里面输入brew info opencv,看哪个后面是一把红叉叉就输入brew install ***(前提是要有Homebrew)(就是Build那三个要下载,官网也有说)

2、打开Clion

(1)创建一个新的c++文件

(2)打开设置,就是右上方的这个齿轮,如图,如果Debugger处无法修改成Clang或者Gcc就保持默认这个。

(3)如图,在CMake--Cmake options处添加

-DOpenCV_DIR=/usr/local/opt/opencv/lib/cmake/opencv4

后面的路径根据个人的不同而不同;

路径的查询还是可以利用刚刚的brew info opencv得到,下图就是

(4)在CMakeLists.txt中添加以下,记住是添加,不要动原有的

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(your_target_name ${OpenCV_LIBS})

将 your_target_name 替换为左上角你项目的名称

(5)在main.cpp中添加

#include <opencv2/opencv.hpp>

看是否会报错

至此配置完毕

3、自己碰到的一些问题

(1)添加了简单的图像显示程序却报错,大体是CMake有错误什么的

简单的图像显示程序:

#include <iostream>
#include <opencv2/opencv.hpp>

int main(int argc, char** argv)
{
    // 加载图像
    cv::Mat image = cv::imread("path/to/your/image.jpg");

    if (image.empty())
    {
        std::cout << "Failed to load the image" << std::endl;
        return -1;
    }

    // 缩放图像
    cv::Mat resizedImage;
    cv::resize(image, resizedImage, cv::Size(300, 200));

    // 翻转图像
    cv::Mat flippedImage;
    cv::flip(image, flippedImage, 0); // 0 表示垂直翻转, 1 表示水平翻转, -1 表示水平垂直翻转

    // 旋转图像
    cv::Mat rotatedImage;
    cv::Point2f center(image.cols / 2.0, image.rows / 2.0);
    double angle = 45.0; // 旋转角度
    double scale = 1.0;
    cv::Mat rotationMatrix = cv::getRotationMatrix2D(center, angle, scale);
    cv::warpAffine(image, rotatedImage, rotationMatrix, image.size());

    // 显示图像
    cv::imshow("Original Image", image);
    cv::imshow("Resized Image", resizedImage);
    cv::imshow("Flipped Image", flippedImage);
    cv::imshow("Rotated Image", rotatedImage);
    cv::waitKey(0);

    return 0;
}

报错内容:

====================[ Build | untitled2 | Debug ]===============================
/Applications/CLion.app/Contents/bin/cmake/mac/aarch64/bin/cmake --build /Users/kzxu/CLionProjects/untitled2/cmake-build-debug --target untitled2 -j 6
Error: could not load cache

原因是CMake缓存文件损坏: CMake缓存文件可能被意外损坏或删除了。

  1. CMake配置不正确: 项目的CMake配置可能存在问题,导致缓存无法正确生成。

  2. 项目结构发生变化: 如果您对项目结构进行了修改,比如添加或删除了文件,CMake缓存可能就失效了。

  3. 解决方案:重新生成CMake缓存,在项目之中的ternimal中(左下自下而上第三个)输入

  4. mkdir cmake-build-debug
    cd cmake-build-debug
    cmake -DCMAKE_BUILD_TYPE=Debug ..

(2)以上都解决之后总是出现路径不正确的问题

我这里是不能含有中文、把图片移到终端显示的是绝对路径,要弄成相对路径,就是把//变成\,然后注意一下" ",只能是"###/###/###/###"不能是" ###/###/###"这种,就是空格的问题。 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置OpenCV可以按照以下步骤行: 1. 首先,下载OpenCV的版本和对应的contrib库。你可以从官方网站下载OpenCV 4.1.1和OpenCV-contrib 4.1.0版本\[1\]。 2. 接下来,下载并安装CUDA和cuDNN。这两个工具是用于加速计算的,如果你需要使用GPU行图像处理,它们是必需的。 3. 下载并安装CMake。CMake是一个跨平台的构建工具,用于生成OpenCV的编译配置。 4. 使用CMake编译OpenCV。在CMake中,选择你想要的配置选项,并确保勾选了nonfree选项。然后生成项目配置。 5. 打开CLion,并在项目配置属性中添加OpenCV的路径。这样CLion就能够找到OpenCV的头文件和库文件,从而正确编译和链接你的代码\[1\]。 如果在编译过程中缺少文件,你可以参考\[2\]中的链接,将缺失的文件放到相应的目录中。 对于Ubuntu系统,配置OpenCV-contrib可以按照以下步骤行: 1. 首先,安装NVIDIA驱动程序,以确保你的GPU可以正常工作。 2. 安装CUDA,这是一个用于并行计算的平台。 3. 下载cuDNN,并将其替换为CUDA的相应版本。 4. 下载OpenCVOpenCV-contrib的相同版本。 5. 使用CMake配置和编译OpenCV-contrib。 请注意,这只是Ubuntu系统上配置OpenCV-contrib的一种方法,具体步骤可能会因系统版本和其他因素而有所不同\[3\]。 希望这些步骤能够帮助你成功配置OpenCVCLion中使用。如果你遇到任何问题,请随时提问。 #### 引用[.reference_title] - *1* [opencv4.1.0编译opencv-contrib和cuda](https://blog.csdn.net/weixin_52101154/article/details/122682992)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ubuntu编译opencv-contrib](https://blog.csdn.net/weixin_52101154/article/details/127442543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值