CentOS에서 튜토리얼 단계에 따라 OpenCV를 설치했는데, 결국 ffmpeg가 없어서 동영상 파일을 읽을 수 없게 되었습니다. 그래서 CentOS의 소프트웨어 관리를 통해 ffmqeg를 설치했지만 여전히 효과가 없었습니다. 그런 다음 ffmpeg를 컴파일했지만 여전히 효과가 없습니다. 실제로 ffmpeg를 OpenCV와 연결하는 핵심 단계가 누락되었습니다. 세부 사항은 다음과 같습니다:
1.ffmpeg 받기:
cvs를 통해 ffmpeg 다운로드, 명령줄 입력: svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
2.ffmpeg 구성:
ffmpeg 디렉토리에 들어가서 ./configure --enable-shared --prefix=/usr을 실행합니다. (모든 사람이 활성화-공유의 의미를 알고 있는 것 같은데 왜 prefix=/usr이 필요한가요? 이것은 opencv의 CMakeLists에서 얻어야 합니다. .txt 및 highgui cvcap_ffmpeg.cpp에 대해 말하자면, 여기에 관련된 문제는 경로 문제로 인해 발생해서는 안 되지만 이 문제로 인해 오전 내내 cMakeLists.txt로 이동하여 ffmpeg가 설치되어 있는지 확인해야 했습니다. 기본값은 /usr로 이동하는 것입니다. 그런데 ffmpeg의 기본 설치는 /usr/local에 설치되어 있어서 문제가 발생합니다. 따라서 설치 경로를 변경하면 opencv에서 설치 여부를 감지할 수 없습니다. cmake.ffmpeg);
3. su -c "설치";
4 다음 작업은 opencv가 ffmpeg의 관련 헤더 파일을 성공적으로 컴파일할 수 있는지 여부와 관련됩니다.4.1) 먼저 /usr/include에서 다음 명령(루트)을 실행합니다.
mkdir ffmpeg;
cp libav* libsw* ffmpeg; //이렇게 하는 이유는 opencv를 구성할 때 여기에 ffmpeg가 설치되어 있는지 확인하기 때문입니다
확인함
4.2) cmake .; //cmake와 . 사이에 공백이 있다는 점에 유의하세요.
구성 결과에서 ffmpeg는 이전 0이 아닌 1이므로 성공했다는 의미입니다.4.3) 설치
5. /usr/local/lib/pkgconfig 아래의 cp opencv.pc. 이 단계도 수행할 수 있습니다. 단지 구성 파일을 지정해야 합니까? 헤더파일과 라이브러리를 직접 컴파일 해보시죠? 사실 opencv.pc를 열어보면 어떤 내용인지 알 수 있습니다.
6. 루트 vim /etc/ld.so.conf에 /usr/local/lib 줄을 추가합니다. (opencv의 라이브러리 파일은 로컬에 있으므로 기본적으로 local/lib의 라이브러리 파일은 포함되지 않습니다. 시스템 시작 시 로드됨)
7.ldconfig.
위 내용은 OpenCV가 CentOS에서 비디오 파일을 읽을 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!