我在带有 Ubuntu 网络摄像头的 Beagleboard xM 上运行 OpenCV。网络摄像头运行良好,但只能在 YUYV 模式下运行。即,使用 jpeg 压缩的 luvcview 有许多帧被半截断、颜色不正确等。但是 luvcview -f YuYV 工作得很好。
是否可以为 OpenCV 禁用 jpeg 压缩?
我已经尝试使用 make 选项构建和安装 openCV:--without-jpeg,但是完成 make 和 make install 需要 4 个小时,并且通常在完成 90% 以上时崩溃。
有没有办法为 ARM 交叉编译这个非 jpeg 版本的 OpenCV,或者有办法使用预构建的安装包禁用 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))的 undefined reference
……等
collect2: ld 返回 1 退出状态 make[2]: * [bin/opencv_test] 错误 1 make[1]: * [tests/cv/CMakeFiles/opencv_test.dir/all] 错误2 make: * [所有] 错误 2 (回到 bash)
最佳答案
我遇到了同样的问题。这可能有帮助: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
此外,如果您使用的是比格犬,则需要使用 -DWITH_JPEG=OFF 选项运行 cmake。
关于python - OpenCV for ARM (Beagleboard) 使用 YUYV 而不是 JPEG 压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4419012/