我在Beagleboard xM上使用Ubuntu下的网络摄像头运行OpenCV。网络摄像头运行正常,但仅在YUYV模式下运行。即,使用jpeg压缩的luvcview有许多帧,这些帧是半截断,不正确的颜色等。但是luvcview -f YuYV工作得很好。
是否可以为OpenCV禁用jpeg压缩?
我尝试使用make选项构建和安装openCV: - without-jpeg,但是完成make和make install需要4个小时,并且通常会在90%+完成时崩溃。
有没有办法交叉编译OpenCV for ARM的这个no-jpeg版本,或者使用预先构建的安装包禁用jpeg的方法?
make install期间出错:
[95%]构建CXX对象测试/ cv / CMakeFiles / opencv_test.dir / src / amoments.o 链接CXX可执行文件../../bin/opencv_test CMakeFiles / opencv_test.dir / src / highguitest.o:在函数`CV_HighGuiTest :: run(int)'中:
...等
../../ lib / libopencv_features2d.so.2.2.0:对cv::SIFT;:SIFT(double, bool bool, int, int, int, int))
的未定义引用
......等等。
collect2:ld返回1退出状态 make [2]: * [bin / opencv_test]错误1 make [1]:* [tests / cv / CMakeFiles / opencv_test.dir / all]错误2 make: * [all]错误2 (回到bash)
答案 0 :(得分:2)
我遇到了同样的问题。这可能会有所帮助:http://tech.groups.yahoo.com/group/OpenCV/message/77273
您可以在modules / features2d / src / sift.cpp中启用SIFT。您可以在文件中搜索#ifdef arm 。在sift.cpp中注释51-53行,例如:// #define ARM_NO_SIFT
此外,如果您使用的是beagle,则需要使用-DWITH_JPEG = OFF选项运行cmake。