在学习的过程中,偶尔遇到“0x00007FFF1A789129 处(xxx.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置xxx”的错误,按照各位大神什么换路径啊、调环境变量啊等操作都未曾解决自己的问题,故将所有看到的方法与思路记录下来,并寻找能解决自己问题的方法。
尝试的解决思路与方法
- 当出现上述问题时,检查文件路径是否正确,或者是否包含空格,尤其是后面那个双引号前面的位置。
可尝试将图片的相对路径改成绝对路径,并注意斜线的方向,除 “\” 以外的三种斜线形式皆可; - 查看链接器-输入-附加依赖的opencv_world410.lib 、opencv_world410d.lib,只留下一个与模式相对应的依赖即可;
- 当读取的两张图片无法显示时,检查两次创建的窗口名是否相同,若相同,则无法显示,改成不一样的即可;
- 图片颜色变换问题、图片通道数问题、图片尺寸问题,即对图片的操作是否超出图片的内存区域;
- 最后,我终于解决了我的问题,用结构体指针指针代替对结构体的操作。
结论
不能光看运行后弹窗和调试过程中错误标记点的注释,还应该多看看.exe窗口的错误内容,才能有效找到解决方法。