gpt4 book ai didi

python - OpenCV 在 OS X 上比在 Linux 上更准确

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:36 28 4
gpt4 key购买 nike

我们有一个 OpenCV 项目,该项目使用其 Python 绑定(bind)在视频文件上运行一些运动检测。我们已经构建了一系列准确性测试,使用我们构建的工具中的一些手动输入,我们注意到有些奇怪。

我们在 OS X 上使用 OpenCV 2.4.9,通过 Homebrew 安装,在 Ubuntu 上使用 2.4.10,从源代码编译。我们在几台不同的机器上运行了测试,并注意到我们在 OS X 上的准确率得分要高得多 - 平均约为 70%,而 Ubuntu 得分平均约为 15%。

造成这种差异的最可能原因是什么?我假设劣质硬件会导致测试运行得更慢,但我不确定是什么会导致准确性发生如此剧烈的变化。也许是视频编解码器?是否有任何已知的 Ubuntu 软件包、开源软件包或其他软件包可以改进这一点?

已安装的依赖项:

sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg

cmake 参数:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

Mac 上 brew info opencv 的输出:

opencv: stable 2.4.9, HEAD
http://opencv.org/
/usr/local/Cellar/opencv/2.4.9 (219 files, 38M) *
Built from source with: --with-gstreamer
From: https://github.com/homebrew/homebrew-science/blob/master/opencv.rb
==> Dependencies
Build: cmake ✘, pkg-config ✔
Required: jpeg ✔, libpng ✔, libtiff ✔
Recommended: eigen ✘, openexr ✔
Optional: gstreamer ✘, jasper ✘, libdc1394 ✘, openni ✘, qt ✘, tbb ✘, ffmpeg ✔
==> Options
--32-bit
Build 32-bit only
--c++11
Build using C++11 mode
--with-cuda
Build with CUDA support
--with-ffmpeg
Build with ffmpeg support
--with-gstreamer
Build with gstreamer support
--with-jasper
Build with jasper support
--with-java
Build with Java support
--with-libdc1394
Build with libdc1394 support
--with-openni
Build with openni support
--with-qt
Build the Qt4 backend to HighGUI
--with-quicktime
Use QuickTime for Video I/O insted of QTKit
--with-tbb
Enable parallel code in OpenCV using Intel TBB
--with-tests
Build with accuracy & performance tests
--without-eigen
Build without eigen support
--without-opencl
Disable GPU code in OpenCV using OpenCL
--without-openexr
Build without openexr support
--HEAD
install HEAD version
==> Caveats
Python modules have been installed and Homebrew's site-packages is not
in your Python sys.path, so you will not be able to import the modules
this formula installed. If you plan to develop with these modules,
please run:
mkdir -p
echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> homebrew.pth

最佳答案

变化可能来自您所说的与编解码器相关的问题,或者您似乎没有使用相同版本的 opencv。但关键是,您观察到的主要差异很可能来自测试的灵敏度(例如,如果某物略低于某个阈值,它就会停止显示,从而破坏整个检测,从而破坏分数),而不是两者之间的主要差异安装。

除了对您使用的所有 cv2 方法进行单元测试以查看每次安装之间的差异之外,我别无他法。或者至少在测试过程中打印一些中间结果,以详细了解差异开始出现的位置。

然后您应该能够更多地了解正在发生的事情,或者使用更具体的上下文来编辑您的问题。同样,我认为全局差异值在现阶段无关紧要。

关于python - OpenCV 在 OS X 上比在 Linux 上更准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27882648/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com