ubuntu - OpenCV 2.4.2 findContours 抛出错误(使用 CV 示例程序)

标签 ubuntu opencv

我在 VMware 中运行了 Ubuntu 12.04 32 位。之后我安装了 OpenCV 2.4.2 ( http://www.samontab.com/web/2011/06/installing-opencv-2-2-in-ubuntu-11-04/ )。

当我尝试从 CV-Page ( http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html ) 运行 findContours 示例时,它会编译,但在调用“findContours”时崩溃。

OpenCV Error: Assertion failed (k == STD_VECTOR_MAT) in release, file /build/build   /opencv-2.3.1/modules/core/src/matrix.cpp, line 1364
terminate called after throwing an instance of 'cv::Exception'
what():  /build/buildd/opencv-2.3.1/modules/core/src/matrix.cpp:1364: error: (-215) k == STD_VECTOR_MAT in function release

我不知道,有什么问题...

我在 Eclipse 中运行代码。 CDT 构建控制台说:

make all 
Building file: ../src/FrameTest.cpp
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/FrameTest.d" -MT"src/FrameTest.d" -o "src/FrameTest.o" "../src/FrameTest.cpp"
../src/FrameTest.cpp:26:2: warning: "/*" within comment [-Wcomment]
../src/FrameTest.cpp: In function ‘int main()’:
../src/FrameTest.cpp:319:25: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
../src/FrameTest.cpp: In function ‘void thresh_callback(int, void*)’:
../src/FrameTest.cpp:345:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
Finished building: ../src/FrameTest.cpp

Building target: FrameTest
Invoking: Cross G++ Linker
g++ -L/home/ubu/workspace/opencv -L/usr/share -L/usr/share/doc/libcv-dev -L/lib -L/lib/i386-linux-gnu -L/home/ubu/OpenCV-2.4.2/include/opencv -L/home/ubu/OpenCV-2.4.2/include/opencv2 -o "FrameTest"  ./src/FrameTest.o   -lopencv_core -lopencv_highgui -lpthread -lopencv_imgproc
Finished building target: FrameTestenter code here

有人有想法吗?我从一个使用 VS2010 的 Windows 中使用 CV2.2 运行的旧项目中获得了其他代码并且它可以工作......VStudio 与 Win 与 Eclipse 和 Ubuntu 的区别在哪里?

到目前为止谢谢。

最佳答案

您似乎安装了两个版本的 OpenCV,并且链接器尝试使用与用于编译代码的版本不同的版本进行链接。

最简单的方法是删除所有其他旧的 OpenCV 版本,然后可能错误的库路径将更加明确。检查所有设置路径、链接器标志和包含文件夹,以确保您通过包含/编译/链接设置使用相同的版本

关于ubuntu - OpenCV 2.4.2 findContours 抛出错误(使用 CV 示例程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345634/

相关文章:

linux - 通过 SSH 启动一个长时间运行的程序

python - 录像机未以exe格式编写视频代码:

python - tkinter-调整彩色图像大小时,仅以红色显示

android - 在Android上使用Camera2进行OpenCV图像处理

image-processing - 有没有人在 OpenCV 中使用 MSER 来检测区域?

python - 将 Caffe 模型与 OpenCV 结合使用

linux - 尝试在 Ubuntu 20.04 上的 VSCode 中运行 Hello World 项目时出现 Omnisharp 问题

c++ - X11/Xlib.h 中缺少 XGetPixel() 吗?

linux - 如何使node和npm保持最新? ( Node 源ppa)

c++ - 如何限制缓存内存ubuntu?