⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨🎓。
如果觉得本文能帮到您,麻烦点个赞
👍呗!
近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支持一下呗。👍⭐️❤️
Qt5.9专栏
定期更新Qt的一些项目Demo
项目与比赛专栏
定期更新比赛的一些心得,面试项目常被问到的知识点。
人工智能学习与练手笔记
定期更新优质的人工智能的论文,有趣的AI项目。
喜欢,觉得有帮助的,欢迎订阅专栏,后续有很多优质的文章进行更新,有任何疑问,欢迎留言!
在做Cpp 开发桌面应用的时候,总想着向python
那样可以调用视觉的一些库,从而玩起YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks
。
关键的一步就在VS2019中搭建好OpenCV库。
但是,😂OpenCV的库过于多,且版本之间向上和向下兼容性差的问题,因此查过了一些资料也踩了一些坑,希望这篇博客可以简单的带你入个门。
从OpenCv
配置入门,运行一个简单demo,调试一个基于OpenCV的项目。
本文将指导你如何在Visual Studio 2019中配置OpenCV 4.5.4并编译在openCV基础上开发的ZXing库,以便在你的项目中利用这些强大的工具。
第一部分:配置OpenCV 4.5.4
首先,你需要从OpenCV的官方网站下载OpenCV 4.5.4版本。下载完成后,解压缩文件到你的电脑上一个方便访问的位置。
为了让OpenCV在Visual Studio 2019中正常工作,你需要配置环境变量。这一步骤确保VS2019能够找到OpenCV的库和头文件。
创建一个新的C++项目后,你需要配置项目以使用OpenCV库。
完成这些步骤后,你的项目就配置好了OpenCV。
为了测试你在Visual Studio 2019中是否成功配置了OpenCV,你可以编写一个简单的C++程序,用于加载并显示一张图片。这将验证OpenCV库是否被正确链接和能够正常工作。
以下是一个简单的测试代码:
#include
#include
int main() {
// 替换为你的图片路径
std::string imagePath = "path_to_your_image.jpg";
// 使用OpenCV的cv::imread函数加载图片
cv::Mat image = cv::imread(imagePath, cv::IMREAD_COLOR);
if (image.empty()) {
std::cout << "无法加载图片,请检查路径是否正确" << std::endl;
return -1;
}
// 创建一个窗口
cv::namedWindow("测试OpenCV", cv::WINDOW_AUTOSIZE);
// 在窗口中显示图片
cv::imshow("测试OpenCV", image);
// 等待用户按键,参数是等待时间(毫秒),0表示无限等待
cv::waitKey(0);
return 0;
}
确保在项目的链接器设置中已经添加了相应的OpenCV库文件,如opencv_world454d.lib(Debug模式)或opencv_world454.lib(Release模式),并且配置了正确的包含目录和库目录。运行此程序后,如果一切配置正确,你应该能看到一个窗口显示出你选择的图片。
第二部分:编译ZXing库
ZXing (“Zebra Crossing”) 是一个开源项目,提供条码扫描功能。接下来,我们将编译ZXing库以便在项目中使用。
打开命令行工具,使用git命令拉取ZXing库的最新代码:
接下来,使用CMake来编译ZXing库。确保你已经安装了CMake,并在命令行中执行以下命令:
这些命令会在zxing-cpp.release目录下生成ZXing的Release版本。
最后,你需要在VS2019项目中配置,以使用编译好的ZXing库。
至此,你的项目已经成功配置了OpenCV和ZXing库,可以开始开发图像处理和条码识别功能了。
在配置OpenCV时,确保正确设置了环境变量,并且重启了电脑使设置生效。
在链接OpenCV库时,记得区分Debug和Release模式,它们需要链接不同的库文件。
编译ZXing库时,确保你的系统中已安装了CMake,并且正确执行了命令行指令。
常见问题解决
环境变量未生效:如果发现VS2019无法识别OpenCV的路径,尝试手动重启电脑。
链接错误:检查是否选择了正确的库文件进行链接,特别是区分了Debug和Release模式。
ZXing编译失败:确保拉取的ZXing库是最新的单分支版本,并且CMake版本符合要求。
配置OpenCV和ZXing库可能初看起来有些复杂,但遵循上述步骤,将使你能够顺利完成配置。掌握这些工具不仅能够扩展你的项目功能,还能够提升你的编程技能到新的水平。希望本文能够帮助你顺利完成配置。
最后,最后
如果觉得有用,麻烦三连👍⭐️❤️支持一下呀,希望这篇文章可以帮到你,你的点赞是我持续更新的动力