cv::imshow报错assertion failed

openCV配置踩坑——无法正常读取图片

之前使用的时python版的opencv,由于正式学习的需要,还是想使用一下cpp版本的,之前下载的opencv-4.5.1,使用Visual Studio2019编译。
基本环境变量的配置和项目属性的配置其实正常参考网上的帖子即可,但是在imread和imshow的时候发现一直提示内存溢出的错误。

cv::imshow报错assertion failed_第1张图片
控制台的输出如下
在这里插入图片描述
这个错误第一时间反应的时imshow的问题,所以去百度查了很多相关的帖子,基本上都是对C++路径使用不当的问题,还有一个是提到了在读取图片时调参会导致的问题——这种应该是属于bug了,但是这里只是很简单的图片读取,而且为了保证路径的问题没有问题,直接把图片放进了项目根目录,还是没有解决,然后有人是提到链接器->输入的附加依赖项的问题,就是添加所使用的lib文件,d后缀的代表debug模式下使用的,如果是debug x64就应该把这个文件的名字放在前边,个人实测后发现无效,但是偶然看到了其他人提到的问题,因为很多帖子在配置时在附加依赖里将opencv_world451d.libopencv_world451.lib都直接写了进去,但是其实用哪个模式配置哪个模式就行,参考链接如下:
https://blog.csdn.net/qmq1101/article/details/85256148
发现只留下debug所用的就解决了,于是重新考虑优先级的问题,可能和在附加依赖项里写这两个库的顺序无关,可能是根据本机的文件顺序执行,结果通过改变自己文件顺序,即附加依赖项里的顺序是debug在后,release在前的情况下,仍然可以正常编译(即正常读取图片),而如果文件顺序如下的话,不管附加那里什么顺序,都无法正常读取,所以还是更建议只配置自己使用的情况,debug就只写opencv_world451d.lib,而不用两个都写,毕竟很多时候不是做项目,也不用发布。
在这里插入图片描述

解决方法——简短

在附加依赖中只填写自己使用的库的文件
debug——opencv_world451d.lib
release——opencv_world451.lib

你可能感兴趣的:(日常基础学习,opencv,计算机视觉,python)