mit*_*n18 7 windows opencv clion
我实际上正在寻找一种方法来使用OpenBV与JetBrains的Clion创建应用程序.
我已经用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})
Run Code Online (Sandbox Code Playgroud)
和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;
}
Run Code Online (Sandbox Code Playgroud)
并且对构建的响应是:
undefined reference to `cv::imread(cv::String const&, int)'
Run Code Online (Sandbox Code Playgroud)
所有OpenCV函数的未定义错误
你知道为什么它不起作用吗?
daB*_*bby 29
我可以告诉你,我是如何在Windows上做到这一点的.
C:\opencv
(或您选择的文件夹)CMake
并选择源(目录为2.)并构建示例C:\opencv\mingw-build
Configure
并选择MinGW Makefiles
.(如果遇到问题,请确保将minGW/bin目录添加到标记为"PATH"的环境路径中)Configure
再次
点击.当一切都是白色时,单击Generate
其他编辑红色字段.cmd
和dir构建目录3.mingw32-make
(或mingw64-make
).这需要一段时间.
mingw32-make install
(或mingw64-make install
).PATH
添加到系统C:\opencv\mingw-build\install\x86\mingw\bin
project-root/cmake/
.的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})
Run Code Online (Sandbox Code Playgroud)
main.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;
}
Run Code Online (Sandbox Code Playgroud)
建立并运行main.cpp
.
所有路径取决于您在2.和3中所做的设置.如果您愿意,可以更改它们.
我希望这有帮助.
归档时间: |
|
查看次数: |
18003 次 |
最近记录: |