我正在尝试根据
instruction在Ubuntu 14.10中安装OpenCV.
我安装了所有提到的依赖项,但是当我尝试运行make时,我遇到了这样的错误:
/home/ilia/opencv-2.4.8/modules/highgui/src/ffmpeg_codecs.hpp:114:7: error: ‘CODEC_ID_H261’ was not declared in this scope { CODEC_ID_H261,MKTAG('H','2','6','1') }
对于所有编解码器,我认为.
而这些错误:
In file included from /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg.cpp:45:0: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function ‘double CvCapture_FFMPEG::getProperty(int)’: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:773:33: error: ‘AVStream’ has no member named ‘r_frame_rate’ return av_q2d(video_st->r_frame_rate); ^ /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function ‘double CvCapture_FFMPEG::get_fps()’: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:820:49: error: ‘AVStream’ has no member named ‘r_frame_rate’ double fps = r2d(ic->streams[video_stream]->r_frame_rate); ^ In file included from /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg.cpp:45:0: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In function ‘int icv_av_write_frame_FFMPEG(AVFormatContext*,AVStream*,uint8_t*,uint32_t,AVFrame*)’: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:1236:72: error: ‘avcodec_encode_video’ was not declared in this scope out_size = avcodec_encode_video(c,outbuf,outbuf_size,picture); ^
看起来它找不到一些头文件,但我安装了所有必需的开发包
libswscale-dev,libavdevice-dev,libavfilter-dev,libavformat-dev,libavcodec-dev.我该怎么做才能解决这些问题?
除非你有特殊原因,否则我建议安装已经在Ubuntu存储库中的OpenCV:sudo apt-get install libopencv-dev
对于视频编解码器,我建议只是尝试安装所有ffmpeg和gstreamer相关的编解码器包.