OPENCV初体验

来源:互联网 发布:c语言中变量命名规则 编辑:程序博客网 时间:2024/05/22 04:52

昨天刚在linux下配置好opencv,测试了样本测试程序成功。于是就很激动的自己写了一个程序,却发现问题又来了。

然后是执行,执行的时候要注意环境变量,这个在上一篇博文中有提到过。

1.出现的第一个问题:

root# g++ 092501.cpp
/tmp/ccM5dgO8.o: In function `main':
092501.cpp:(.text+0x21): undefined reference to `cvLoadImage'
092501.cpp:(.text+0x64): undefined reference to `cvCreateImage'
092501.cpp:(.text+0xa7): undefined reference to `cvCreateImage'
092501.cpp:(.text+0xc4): undefined reference to `cvResize'
092501.cpp:(.text+0xd0): undefined reference to `cvCreateMemStorage'
092501.cpp:(.text+0x116): undefined reference to `cvPyrSegmentation'
092501.cpp:(.text+0x121): undefined reference to `cvReleaseMemStorage'
092501.cpp:(.text+0x135): undefined reference to `cvNamedWindow'
092501.cpp:(.text+0x148): undefined reference to `cvShowImage'
092501.cpp:(.text+0x154): undefined reference to `cvWaitKey'
092501.cpp:(.text+0x160): undefined reference to `cvDestroyWindow'
092501.cpp:(.text+0x16b): undefined reference to `cvReleaseImage'
092501.cpp:(.text+0x176): undefined reference to `cvReleaseImage'

首先是编译:g++ 092501.cpp `pkg-config --libs --cflags opencv`

2.出现的第二个问题:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
Aborted (core dumped)

意思是得到一个空指针


3.出现的第三个问题:

OpenCV Error: Null pointer (NULL array pointer is passed) in cvGetMat, file /opt/opencv/OpenCV-2.0.0/src/cxcore/cxarray.cpp, line 2370
terminate called after throwing an instance of 'cv::Exception'
Aborted (core dumped)

这也是一个指针问题,很奇怪的是在程序里直接引用图片的地址会出现这个问题,而在执行的时候./092501 ~/Desktop/1.jpg 这样就没问题。


0 0