Tôi gặp sự cố khi sử dụng lớp VideoCapture với OpenCV 2.4.2 trong Windows XP 32bits. Nó không mở bất kỳ tập tin hoặc máy ảnh và sửa chữa nó là một nỗi đau. Im sử dụng studio hình ảnh 2010 nhưng tôi cũng đã thử mã trong QTcreator với cùng một kết quả.Lỗi VideoCapture OpenCV 2.4.2 trong cửa sổ
Mã kiểm tra như sau:
#include "opencv/cv.h"
#include "opencv/highgui.h"
#include <iostream>
#include <string>
#include <iomanip>
#include <sstream>
using namespace cv;
using namespace std;
int main()
{
const char* videoPath = "C:/video/";
string videoName = string(videoPath) + "avi.avi";
VideoCapture cap(videoName);
if(!cap.isOpened())
{
std::cout<<"Fail"<<std::endl;
return -3;
}
return 0;
}
Sản lượng luôn là '-3'. Qt Creator cho thấy một cảnh báo: tập tin mở Lỗi (../../modules/highgui/src/cap_ffmpeg_impl.hpp:361)
Tôi debugged nó và vấn đề xuất hiện trong dòng đầu tiên của:
CvCapture* cvCreateFileCapture_FFMPEG_proxy(const char * filename)
{
CvCapture_FFMPEG_proxy* result = new CvCapture_FFMPEG_proxy;
if(result->open(filename))
return result;
delete result;
#if defined WIN32 || defined _WIN32
return cvCreateFileCapture_VFW(filename);
#else
return 0;
#endif
}
trong tệp nội bộ cap_ffmpeg.cpp.
Tôi đã thử nghiệm cùng một mã trong mac dưới báo tuyết và hoạt động. Không có bất ngờ ở đây vì nó phải là một vấn đề thư viện. Tôi đã mở tệp avi với cùng một tuyến đường bằng cách sử dụng cvCapture c-function dễ dàng và nhanh chóng. Tôi nhận được tất cả các dll của 'C: \ opencv \ opencv \ build \ x86 \ vc10 \ bin' được bao gồm trong tệp gỡ lỗi mi. Tôi đã nhận được tbb.dll và tất cả nội dung 'C: \ opencv \ opencv \ 3rdparty \ ffmpeg' cũng được đưa vào.
Điều này khiến tôi phát điên vì vậy mọi trợ giúp sẽ được đánh giá cao.
Xin cảm ơn trước.
Câu trả lời đầu tiên cho [câu hỏi này] (http://stackoverflow.com/questions/1987782/why-opencvs-cvcreatecameracapture-and-cvcreatefilecapture-do-not-work-how) có thể là trường hợp của bạn: Thử sao chép opencv_ffmpeg242d .dll hoặc opencv_ffmpeg242.dll vào thư mục làm việc hiện tại của bạn. Ngoài ra, bạn đã tự mình xây dựng OpenCV chưa? Bạn có chắc chắn tất cả các phụ thuộc là ok? – Sassa
Tôi vẫn gặp sự cố tương tự. Tôi đã đọc trong một số diễn đàn có thể cập nhật codec là cần thiết. Tôi sẽ cố gắng làm điều đó. bạn đã giải quyết được vấn đề? –