Webカメラからキャプチャしたフレームをコピーしようとして、Opencvで作業しています。__memcpy_ssse3()
フレームをコピーすると、160 行目または 1675 行目でセグメンテーション違反が発生します。
gdb ショー:
0 __memmove_ssse3 () at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S:1675
/home/david/opencv/OpenCV-2.4.2/modules/core/src/copy.cpp:181 の cv::Mat::copyTo (this=0xbfca3450, _dst=...) の 1 0xb75ec6d0
2 0xb75984f6 in cv::Mat::Mat (this=0xbfca358c, img=0xb1300c90, copyData=true) /home/david/opencv/OpenCV-2.4.2/modules/core/src/matrix.cpp:510
それを呼び出す関数はcv::MAt::Mat(IplImg *I, bool copy)
.
USB カメラまたはファイルを開くときはすべて完璧ですが、IP 経由で Web カメラからビデオ ストリームを読み取ろうとすると、1 分後にクラッシュします。
私は ssse3 サポートなしで ffmpeg と opencv をビルドしようとしましたが、私のアプリケーション-mno-seee3
もフラグ付きでコンパイルされました。
Opencv のバージョンは 2.4.2 ですが、2.3.1 にも問題があります。ffmpeg のバージョンは 11.1 で、8.X でも同じ問題が発生します。gcc のバージョンは 4.6.3、Ubuntu のブランチです。プロセッサは Intel core2 です。
ヒントはありますか?