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)以上都解决之后总是出现路径不正确的问题

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值