Cmake 配置opencv

  假如下载解压之后得到的opencv配置文件无法正常使用,你需要自己将开源文件编译一次,这样才更适合你的电脑。

https://opencv.org/opencv-3-4-1.html

https://cmake.org/files/v3.12/cmake-3.12.1.zip

并且,cmake需要与opencv版本号相兼容。

打开cmake.(路径最好不要出现中文)

选择opencv源文件夹。以及生成的文件夹。

生成文件夹的路径随意。

 

点击Configure  选择编译器版本

 

点击finish。结束之后,点击generate。生成项目。最后在选择的生成路径下找到opencv.sin(针对vs2017).打开项目。

 

点击重新生成解决方案。

生成结束之后。

找到

 

最终

  1. VC++目录-->包含目录,添加:
    D:\opencv3\opencv\mybuild\install\include

  2. VC++目录-->库目录,添加:
    D:\opencv3\opencv\mybuild\install\x86\vc12\lib
    D:\opencv3\opencv\mybuild\install\x86\vc12\staticlib

  3. 链接器-->输入-->附加依赖项,添加:opencv_aruco341d.lib
    opencv_bgsegm341d.lib
    opencv_bioinspired341d.lib
    opencv_calib3d341d.lib
    opencv_ccalib341d.lib
    opencv_core341d.lib
    opencv_datasets341d.lib
    opencv_dnn_objdetect341d.lib
    opencv_dnn341d.lib
    opencv_dpm341d.lib
    opencv_face341d.lib
    opencv_features2d341d.lib
    opencv_flann341d.lib
    opencv_fuzzy341d.lib
    opencv_hfs341d.lib
    opencv_highgui341d.lib
    opencv_img_hash341d.lib
    opencv_imgcodecs341d.lib
    opencv_imgproc341d.lib
    opencv_line_descriptor341d.lib
    opencv_ml341d.lib
    opencv_objdetect341d.lib
    opencv_optflow341d.lib
    opencv_phase_unwrapping341d.lib
    opencv_photo341d.lib
    opencv_plot341d.lib
    opencv_reg341d.lib
    opencv_rgbd341d.lib
    opencv_saliency341d.lib
    opencv_shape341d.lib
    opencv_stereo341d.lib
    opencv_stitching341d.lib
    opencv_structured_light341d.lib
    opencv_superres341d.lib
    opencv_surface_matching341d.lib
    opencv_text341d.lib
    opencv_tracking341d.lib
    opencv_video341d.lib
    opencv_videoio341d.lib
    opencv_videostab341d.lib
    opencv_world341.lib
    opencv_world341d.lib
    opencv_xfeatures2d341d.lib
    opencv_ximgproc341d.lib
    opencv_xobjdetect341d.lib
    opencv_xphoto341d.lib   

---------------------------2019年9月26日添加--------------------------------------

获取文件名字可以参考这个程序

#define _CRT_SECURE_NO_WARNINGS
#include <io.h>      
#include <string>    
#include <vector>    
#include <iostream>    
#include<fstream>
using namespace std;
//获取特定格式的文件名    
void getAllFiles(string path, vector<string>& files, string format)
{
	long  hFile = 0;//文件句柄  64位下long 改为 intptr_t
	struct _finddata_t fileinfo;//文件信息 
	string p;
	if ((hFile = _findfirst(p.assign(path).append("\\*" + format).c_str(), &fileinfo)) != -1) //文件存在
	{
		do
		{
			if ((fileinfo.attrib & _A_SUBDIR))//判断是否为文件夹
			{
				if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)//文件夹名中不含"."和".."
				{
					files.push_back(p.assign(path).append("\\").append(fileinfo.name)); //保存文件夹名
					getAllFiles(p.assign(path).append("\\").append(fileinfo.name), files, format); //递归遍历文件夹
				}
			}
			else
			{
				files.push_back(p.assign(path).append("\\").append(fileinfo.name));//如果不是文件夹,储存文件名
			}
		} while (_findnext(hFile, &fileinfo) == 0);
		_findclose(hFile);
	}
}

int main()
{
	string filePath = "D:\\Program\\Cpp\\CTOS_projact\\face_recgnition\\ConsoleApplication2\\at";
	vector<string> files;
	string format = "";				 //查找文件的格式
	getAllFiles(filePath, files, format);
	int size = files.size();
	char str[100];
	std::ofstream outfile;
	outfile.open("at.txt");
	if (!outfile)
	{
		printf("error\n");
	}
	else
	{
		
		for (int i = 0; i < files.size(); i++)
		{
			//sprintf(str, "%s;\n", files[i]);
			outfile<<files[i]<<";\n";
			//cout <<  << endl;
		}
	}
	system("pause");
	return 0;
}

---------------------------2019年9月26日添加--------------------------------------

配置完成。参见https://segmentfault.com/a/1190000003496009

配置CMake以使用OpenCV,你可以按照以下步骤进行操作: 1. 首先,确认系统已经安装了OpenCV。你可以通过在终端中输入`locate OpenCVConfig.cmake`来查找OpenCVCMake文件\[1\]。 2. 在你的CMakeLists.txt文件中,添加以下代码来查找并链接OpenCV库: ``` # 声明要求的 cmake 最低版本 cmake_minimum_required(VERSION 2.8) # 声明一个 cmake 工程 project(pro) # 设置编译模式 set(CMAKE_BUILD_TYPE "Debug") # 添加OPENCV库 find_package(OpenCV REQUIRED) # 添加OpenCV头文件 include_directories(${OpenCV_INCLUDE_DIRS}) # 添加一个可执行程序 add_executable(main main.cpp) # 将库文件链接到可执行程序上 target_link_libraries(main ${OpenCV_LIBS}) ``` 这段代码会在你的项目中查找并链接OpenCV库\[3\]。 3. 确保你的代码中包含了OpenCV的头文件,并使用OpenCV的函数。例如,你可以使用以下示例代码来测试OpenCV是否正常工作\[2\]: ```cpp #include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; int main() { cv::Mat img = cv::imread("path_to_your_image.png"); cv::namedWindow("test"); cv::imshow("test", img); cv::waitKey(0); } ``` 在这个示例中,我们使用了OpenCV的imread函数来读取一张图片,并显示在一个窗口中。 通过以上步骤,你应该能够成功配置CMake以使用OpenCV库。记得替换示例代码中的图片路径为你自己的图片路径\[2\]。 #### 引用[.reference_title] - *1* *3* [opencv设置cmake](https://blog.csdn.net/qq_44601476/article/details/125351895)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Visual Studio 创建cmake项目——opencv环境配置](https://blog.csdn.net/qq_44808827/article/details/124567862)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值