gpt4 book ai didi

windows - 在 Windows 上将 OpenCV 与 Clion IDE 结合使用

转载 作者:可可西里 更新时间:2023-11-01 12:57:30 28 4
gpt4 key购买 nike

我实际上正在寻找一种方法来使用 JetBrains 的 Clion 和 OpenCV 创建应用程序。

我已经用 Choco 安装了 OpenCV,所以我在 C:\opencv 中拥有了所有的东西

这是我和 Clion 的项目

CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)
project(test)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories("C:\\opencv\\build\\include\\")

FIND_PACKAGE( OpenCV REQUIRED core highgui imgproc)
set(OpenCV_FOUND TRUE)

set(SOURCE_FILES main.cpp)
add_executable(prog ${SOURCE_FILES})

和 main.cpp:

#include <opencv2/opencv.hpp>

int main() {

cv::Mat img = cv::imread("./test.jpg", -1);
cv::imshow("Mon image", img);
cv::waitKey(0);
return 0;
}

对构建的响应是:

undefined reference to `cv::imread(cv::String const&, int)'

所有 OpenCV 函数的未定义错误

你知道为什么它不起作用吗?

最佳答案

首先,你需要CMake .
然后你需要一个你选择的编译器( MinGW , Visual Studio , ...)。

  1. 下载 OpenCV 源文件。 Link
  2. 解压到 C:\opencv(或您选择的文件夹)
  3. 打开 CMake 并选择源(2. 的目录)并构建例如 C:\opencv\mingw-buildC:\opencv\vs-x64-build。根据您的配置选择一个。
  4. 单击Configure 并根据您的编译器选择生成器。 MinGW Makefiles 如果是 MingGW 或 Visual Studio ... 如果您使用的是 Visual Studio 等等 ...
    (如果您在使用 MinGW 时遇到问题,请确保将 minGW/bin 目录添加到标有“PATH”的环境路径中)
  5. 等待配置完成,编辑您需要的属性(在我的情况下,我不需要测试、文档和 python)。
    enter image description here再次单击配置。当一切都是白色时,单击 Generate 否则编辑红色字段。
  6. 打开cmd 和dir 建立3.
    的目录如果您选择 Visual Studio 打开生成的解决方案。
  7. 编译库。如果您选择的编译器是 MSVC,则运行 mingw32-make(或 mingw64-make)或从 Visual Studio 中生成的解决方案构建 BUILD_ALL 项目。
    这需要一段时间。 enter image description here
  8. 完成后,运行 mingw32-make install(或 mingw64-make install)。如果您选择了 Visual Studio,则需要构建 INSTALL 项目。
    这将创建一个安装文件夹,其中包含构建您自己的 OpenCV 应用程序所需的一切。
  9. 到系统 PATH 添加 C:\opencv\mingw-build\install\x86\mingw\bin
    重新启动您的电脑。
  10. 设置 CLion:

CMakeLists.txt:

project(test)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

# Where to find CMake modules and OpenCV
set(OpenCV_DIR "C:\\opencv\\mingw-build\\install")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(test_cv main.cpp)

# add libs you need
set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs)

# linking
target_link_libraries(test_cv ${OpenCV_LIBS})

主要.cpp:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

int main(int argc, char** argv)
{
if(argc != 2)
{
std::cout << "Usage: display_image ImageToLoadAndDisplay" << std::endl;
return -1;
}

cv::Mat frame;
frame = cv::imread(argv[1], IMREAD_COLOR); // Read the file

if(!frame) // Check for invalid input
{
std::cout << "Could not open or find the frame" << std::endl;
return -1;
}

cv::namedWindow("Window", WINDOW_AUTOSIZE); // Create a window for display.
cv::imshow("Window", frame); // Show our image inside it.

cv::waitKey(0); // Wait for a keystroke in the window
return 0;
}

构建并运行 main.cpp

所有路径都取决于您在2.3. 中所做的设置,您可以根据需要更改它们。

更新 1:我更新了帖子以使用您选择的编译器。

建议:使用类似Conan 的包管理器让生活更轻松。

关于windows - 在 Windows 上将 OpenCV 与 Clion IDE 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35984678/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com