【发布时间】:2011-05-24 01:42:49
【问题描述】:
我在 Ubuntu 下带有网络摄像头的 Beagleboard xM 上运行 OpenCV。网络摄像头运行良好,但仅限于 YUYV 模式。即,使用 jpeg 压缩的 luvcview 有很多帧被截断,颜色不正确等。但是 luvcview -f YuYV 完美。
是否可以为 OpenCV 禁用 jpeg 压缩?
我尝试使用 make 选项构建和安装 openCV:--without-jpeg,但完成 make 和 make 安装需要 4 小时,并且通常在完成 90% 以上时崩溃。
有没有办法交叉编译这个非 jpeg 版本的 OpenCV for ARM,或者使用预构建的安装包禁用 jpeg?
make 安装时出错:
[ 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)
【问题讨论】:
-
尝试了很多不同的东西,多次尝试重新编译,最终编写了一个算法来根据通过管道传输到文件的 STDERR 输出的文件大小的变化来丢弃坏帧。可怕的黑客攻击,但它奏效了。
标签: python opencv arm cross-compiling beagleboard