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;
}
相关推荐
hans汉斯11 分钟前
计算机科学与应用|基于大模型深度语义理解的智能内容纠错系统
人工智能·计算机视觉·视觉检测·数据·病虫害检测
汉克老师2 小时前
GESP6级C++考试语法知识(四、图与树(四))
c++·贪心算法·优先队列·哈夫曼编码·哈夫曼树·gesp6级·gesp六级
子兮曰3 小时前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端
特种加菲猫3 小时前
二叉搜索树:数据世界的“快速寻路指南”
开发语言·c++
naturerun3 小时前
从数组中删除元素的算法
数据结构·c++·算法
特种加菲猫3 小时前
STL关联容器:Set/Multiset与Map/Multimap详解
开发语言·c++
Andy3 小时前
C++ list容器基本逻辑结构详解
c++·windows·list
想唱rap5 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
瑶池酒剑仙5 小时前
C++类和对象完全指南:从封装继承多态到内存布局的面向对象宝典(雨夜论道)
c语言·开发语言·c++·visual studio
这张生成的图像能检测吗5 小时前
(论文速读)LogInsight:基于大语言模型的准确可解释日志故障诊断
人工智能·计算机视觉·语言模型·自然语言处理·故障诊断