• VS/opencv 测试程序和程序的报错问题解决


    安装好VS以及配置好opencv的库文件路径等配置后,原本以为就可以轻松的运行第一个简单的测试程序。

    但结果并不像我想的那么顺利,copy了测试代码后准备运行时发现了报错信息。

    首先给的是遇到两个很常见的BUG,然后给出测试程序的源代码:

    我建立的第一个打开图片的测试程序如下:

    这是我的第一个运行的程序,我是直接copy别人的源代码粘贴上去的,心想应该没什么问题。因为看着别人是运行出来的。

    但是还没编译就有红色无法识别代码的波浪线了。

    网上找了很多别人的解决方法才解决问题,主要原因是差一个头文件:#include <opencv2/highgui/highgui_c.h> 

    我估计是因为VS里对一些字符或者变量名的识别需要一个头文件来支持。

    (还有一个重要的问题是Debug的选项后面一定要选×64,因为初始配置是选的×64)不然可能一个头文件都不能识别

    下面开始编译时又出了问题:

    程序是正确运行了,窗口显示不能加载图片。查找原因是文件的路径有问题,

    直接复制粘贴的代码路径显示时,前面多了两个“??”。但是在代码里完全显示不出来。

    文件路径一定要自己手敲一遍。不然出问题了都不知到哪里的bug

    还有就是程序执行时,有调试和不调试两种。不调试执行可以直接出结果,调试运行时会报一个错误

    无法查找或打开PDB文件。网上说直接不调试执行一样可以用,目前我还找不到原因。

    下面是给出的源代码:(强烈建议自己敲一遍,不然不知道会出现什么BUG)

    #include <opencv.hpp>
    #include <iostream>
    #include <opencv2/highgui/highgui_c.h>
    using namespace cv;
    int main(int argc, char** argv) {
        Mat src = imread("L:/11.jpg");
            if (src.empty()) {
                printf("could not load image...
    ");
                    return -1;
        }
            namedWindow("test opencv setup ",CV_WINDOW_AUTOSIZE);
                imshow("test opencv setup", src);
    
                waitKey(0);
            return 0;
    }

    效果图:

    最后引用很经典的一段总结:

                              眼过千遍不如手过一遍!
                             书看千行不如手敲一行!
                             手敲千行不如单步一行!
                             单步源代码千行不如单步Debug版对应汇编一行!
                             单步Debug版对应汇编千行不如单步Release版对应汇编一行!

     

     

  • 相关阅读:
    2020.1.15考试总结
    P4558 [JSOI2018]机器人 结论&DP
    2020.1.11考试总结
    2020.1.9考试总结
    如何和出题人斗智斗勇?奇技淫巧汇总
    各种公式总结
    2020.1.5考试总结
    C基础学习笔记——01-C基础第10天(内存结构)
    C基础学习笔记——01-C基础第09天(指针下)
    C基础学习笔记——01-C基础第08天(指针上)
  • 原文地址:https://www.cnblogs.com/Jack-Elvis/p/11255644.html
Copyright © 2020-2023  润新知