下载clion,opencv库,mingw编译,cmake。
clion,cmake自行随便下载
1:下载opencv库
opencv官网 https://opencv.org/releases/
选择Sources版本,这个版本可以复制链接地址到迅雷下载,速度很快。
:
2:安装mingw
2.1下载地址 https://sourceforge.net/projects/mingw-w64/files/
2.2 配置环境变量
3: 使用cmake编译opencv
3.1 开始编译
3.2 报错解决
配置过程中,可能会因为下载opencv_video_io_ffmpeg.dll和opencv_video_io_ffmpeg_64.dll失败而报错,我们根mingw_build/CMakeDownloadLog.txt 中提示的githubusercontent地址手动下载这两个文件到sources/3rdparty/ffmpeg目录下。
可以用迅雷下载比较快
理论上 正确下载了mingw和这俩个配置文件,不会出问题。
3.3 报错解决
在cmake-gui中搜索OPENCV_ENABLE_ALLOCATOR_STATS
去掉,然后重新编译。
配置cv环境,配置完成后,重启
4:配置clion
测试代码
// An highlighted block
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 创建一个 VideoCapture 对象,参数 0 表示打开默认摄像头
cv::VideoCapture cap(0);
// 检查摄像头是否成功打开
if (!cap.isOpened()) {
std::cerr << "Error: Could not open camera" << std::endl;
return -1;
}
// 创建一个窗口用于显示视频
cv::namedWindow("Camera", cv::WINDOW_AUTOSIZE);
while (true) {
cv::Mat frame;
// 读取当前帧
cap >> frame;
// 检查帧是否为空
if (frame.empty()) {
std::cerr << "Error: Could not read frame" << std::endl;
break;
}
// 显示当前帧
cv::imshow("Camera", frame);
// 按下 ESC 键退出
if (cv::waitKey(30) == 27) {
break;
}
}
// 释放摄像头
cap.release();
// 销毁窗口
cv::destroyAllWindows();
return 0;
}
// An highlighted block
cmake_minimum_required(VERSION 3.16)
project(OpenCV_Camera_Test)
set(CMAKE_CXX_STANDARD 17)
# 指定 OpenCV 的安装目录
set(OpenCV_DIR D:/code/opencv_build_1/install)
set(OpenCV_LIBS D:\\code\\opencv_build_1\\install\\x64\\mingw\\bin)
# 查找 OpenCV 包
find_package(OpenCV REQUIRED)
# 包含 OpenCV 的头文件
#include_directories(D:\code\opencv_build_1\install\include)
include_directories(${OpenCV_INCLUDE_DIRS})
# 添加可执行文件
add_executable(OpenCV_Camera_Test 2.cpp)
# 链接 OpenCV 库
target_link_libraries(OpenCV_Camera_Test ${OpenCV_LIBS})
参考文献
https://developer.aliyun.com/article/1501767
https://blog.csdn.net/jjxcsdn/article/details/123058745
https://blog.csdn.net/yerongjie/article/details/124350942
https://blog.csdn.net/qq_25232685/article/details/125926743