各位好,我想用 opencv 抓取 MJPEG-Streamer 的摄像头数据,在 windows 平台下能成功打开,但是 opensuse 下不可以,代码:
VideoCapture cap;
cap.open(“http://127.0.0.1:8080/?action=stream&type=.mjpg”);
找了很久没有解决,视频数据没问题,gst-launch 可以看到。所以只能想 gdb 单步调试下 opencv 的函数看看。
重新编译了 Debug 版本的 opencv, 然后想单步调试下简单的程序:
makefile:
OpencvDebugLibDir=/home/ry/lib
CFLAGS = -g -I$(OpencvDebugLibDir)/include/opencv -I$(OpencvDebugLibDir)
LIBS = $(OpencvDebugLibDir)/lib/*.so
target : main.cpp
g++ $(CFLAGS) $(LIBS) -o $@ $<
main.cpp:
VideoCapture cap;
cap.open(0);
gdb 进去,s 命令却直接跳过去,没有任何提示。
如果修改 main.cpp:
Mat image;
image = imread( argv[1], 1 );
提示:
main (argc=2, argv=0x7fffffffdda8) at test.cpp:32
32 image = imread( argv[1], 1 );
(gdb) s
std::allocator<char>::allocator (this=0x7fffffffdc6f)
at /usr/src/debug/gcc-4.8.1-20130909/obj-x86_64-suse-linux/x86_64-suse-linux/libstdc++-v3/include/bits/allocator.h:113
113 /usr/src/debug/gcc-4.8.1-20130909/obj-x86_64-suse-linux/x86_64-suse-linux/libstdc++-v3/include/bits/allocator.h: No such file or directory.
大家有什么建议吗?怎么才能解决问题,让 gdb 能调试 opencv? 或者最初的问题,opencv 打开 MJPEG-Streamer 的摄像头数据?
谢谢 ~~