OpenCV1-VS2022+OpenCV环境配置

OpenCV学习1-VS2022+OpenCV环境配置


1.VS、Image Watch、FastStone Image Viewer、OpenCV

1.安装VS2022

2.安装看图拓展:Image Watch for Visual Studio 2022

3.安装图像对比软件 FastStone Image Viewer

4.OpenCV官网下载:opencv.org/release

2.VS2022配置OpenCV环境

配置:

1.添加环境变量D:\ThirdLib\opencv\build\x64\vc16\bin

2.添加包含目录:

D:\ThirdLib\opencv\build\include\opencv2

D:\ThirdLib\opencv\build\include\

3.添加库目录:

D:\ThirdLib\opencv\build\x64\vc16\lib

4.添加附加依赖项:库目录下的文件

如果是Release版本:opencv_world480.lib

如果是Debug版本:opencv_world480d.lib

get-started 测试程序:

cpp 复制代码
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>

using namespace cv;

int main()
{
	std::string image_path = "path/to/image";
	Mat img = imread(image_path, IMREAD_COLOR);

	imshow("Display window", img);
	int k = waitKey(0); // Wait for a keystroke in the window
	return 0;
}

3.Debug模式下日志的关闭

如果实在Debug模式下,则会输出大量日志信息,使用以下代码可以关闭日志的输出:

cpp 复制代码
// 包含头文件
#include <opencv2/core/utils/logger.hpp>

// main函数中
cv::utils::logging::setLogLevel(utils::logging::LOG_LEVEL_SILENT);
cpp 复制代码
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core/utils/logger.hpp>

using namespace cv;
using namespace std;

int main()
{
	cout << "OpenCV Version: " << CV_VERSION << endl;
	utils::logging::setLogLevel(utils::logging::LOG_LEVEL_SILENT);

	// jpg图片
	string image_path = "morty.jpg";
	Mat img_jpg = imread(image_path, IMREAD_UNCHANGED);
	if (img_jpg.empty())
	{
		cout << "Input image is null!" << endl;
		return 0;
	}
	imshow(image_path, img_jpg);
	cout << "Channel nmuber: " << img_jpg.channels() << endl;
	cout << "Size: " << img_jpg.size << endl;

	// png图片
	image_path = "skinner.png";
	Mat img_png = imread(image_path, IMREAD_UNCHANGED);
	if (img_png.empty())
	{
		cout << "Input image is null!" << endl;
		return 0;
	}
	imshow(image_path, img_png);
	cout << "Channel nmuber: " << img_png.channels() << endl;
	cout << "Size: " << img_png.size() << endl;

	int k = waitKey(0); // Wait for a keystroke in the window
	return 0;
}
相关推荐
Brilliantwxx12 小时前
【算法从零到千】【1-7】 双指针算法
开发语言·c++·笔记·算法·leetcode·推荐算法
Irissgwe12 小时前
一、Qt 概述
c++·qt·gui·qt creator
yubo050913 小时前
计算机视觉第十课:摄像头实时 颜色 + 形状 识别
python·opencv·计算机视觉
草莓熊Lotso13 小时前
【Linux网络】深入理解 HTTP 协议(一):从基础概念到 URL 编码解码
linux·网络·c++·网络协议·http·软件工程
眠りたいです13 小时前
现代C++:C++17中的新语言特性
开发语言·c++·c++17
一只旭宝13 小时前
【C++入门精讲17】序列容器
开发语言·c++
郝学胜-神的一滴13 小时前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
开发语言·c++·qt·程序人生·用户界面
basketball61613 小时前
C++进阶:2. std::move 和 std::forward 函数
java·开发语言·c++
玖釉-13 小时前
LeetCode Hot 100 知识点总结与算法指南
c++·windows·算法·leetcode