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;
}
相关推荐
Pavel同学1 分钟前
Mac M2安装OpenCV记录
opencv
superman超哥6 分钟前
仓颉内存管理深度探索:引用计数的实现原理与实战
c语言·开发语言·c++·python·仓颉
TechPioneer_lp16 分钟前
27届暑期实习内推:网易美团京东快手等
数据结构·c++·人工智能·笔记·机器学习·面试
小无名呀31 分钟前
RAII 智能指针
c++
Once_day1 小时前
CC++八股文之基础语法(2)
c语言·c++
dawnButterfly1 小时前
C 语言标准、编译器与操作系统的关系
c语言·开发语言·c++
程序员龙一1 小时前
进程、线程、协程通俗讲解与对比
c++·线程·进程·协程
Dream it possible!1 小时前
LeetCode 面试经典 150_回溯_单词搜索(104_79_C++_中等)
c++·leetcode·面试·回溯
superman超哥1 小时前
仓颉语言智能指针深度实战:突破 GC 与所有权的边界
c语言·开发语言·c++·python·仓颉
八月的雨季 最後的冰吻2 小时前
FFmepg-- 39-ffplay源码-ffplay 播放器中视频输出和尺寸变换
c++·音视频