你说安装?楼主使用的是VCPKG,也是遇到不少问题,不过最后还是解决了。大家有需要我抽时间写一篇如何使用VCPKG和VS安装OPENCV出来
最近楼主在做视觉识别方面的工作,这个就当笔记了吧(一年前做过这方面的工作,但是电子笔记弄丢了,悲(;′⌒`))
还是博客靠谱啊
第一段程序
看看OPENCV安装好没有?一段程序检验一下
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 读取图像文件
std::string image_path = "CUBE.png"; // 将路径替换为你的图像文件路径
cv::Mat image = cv::imread(image_path, cv::IMREAD_COLOR);
// 检查图像是否成功加载
if (image.empty()) {
std::cerr << "Could not open or find the image!" << std::endl;
return -1;
}
// 创建一个窗口并显示图像
cv::namedWindow("Display Image", cv::WINDOW_AUTOSIZE);
cv::imshow("Display Image", image);
// 等待按键输入
cv::waitKey(0);
return 0;
}
什么是目录和路径–1
这里是一个展示图片的功能,要把图片放到根目录下,什么是根目录?VS有两个主要的区域,一个是工作区,一个是程序区(我是这么叫的)工作区的特征就是目录下以CPP等源代码文件为主,程序区是编译后的EXE文件。楼主这里用的是相对目录,是在工作区/程序区寻找指定的图片(这种方法比较灵活,还有相对的绝对路径法,这里就不讲了)
如何打开工作区,并添加图片?
打开解决资源管理/右击工程项目
选择:在文件管理器中打开
这里就是我们的工作区,只要把要展示的图片放到这里就行了
放好了我们可以开始运行
可以看到,有CMD和小窗口,CMD中的信息很吓人的样子,好多failed,这些其实是OPENCV显示图片时尝试使用引擎的加载信息,并非报错,不用紧张
什么你想关掉这些日记?
写这样一段代码就行cv::utils::logging::setLogLevel(cv::utils::logging::LOG_LEVEL_ERROR);
这是只显示ERROR级别的消息
运行效果,是不是清爽多了ψ(`∇´)ψ
目录和路径—2
相应的,还有程序区,我们回到总目录(注意楼主的文件层级)先到工程总目录(特征是含有.SLN文件,你点击这个文件
可以打开工程文件夹,在项目复杂的时候很有用)
打开 x64/debug/ 可以看到EXE文件(注意这里的x64并非工作区的x64!)
在这里点击运行CVTEST.EXE 会一闪而过,因为找不到该目录下的CUBE.png 复制粘贴一下就好了。路径,很神奇吧