2011-11-17 213 views
2

我在OpenCV中遇到RAW YUB視頻加載問題。我可以在MPlayer中使用以下命令播放:在OPENCV中加載RAW YUV視頻

mplayer myvideo.raw -rawvideo w=1280:h=1024:fps=30:y8 -demuxer rawvideo 

我在OpenCV的負載代碼:

CvCapture* capture=cvCaptureFromFile("C:\\myvideo.raw"); 

cvCaptureFromFile總是返回NULL。但是,如果我嘗試使用正常的avi文件,代碼將正常運行(捕獲不爲空)。

我用的OpenCV的最新版本工作Windows 7的

下編輯:輸出消息

[IMGUTILS @ 0036f724] Picture size 0x0 is invalid 
[image2 @ 009f3300] Could not find codec parameters (Video: rawvideo, yuv420p) 

感謝

回答

1

的OpenCV採用的ffmpeg作爲後端,但是,它僅包含ffmpeg函數的一個子集。你可以嘗試的是安裝一些編解碼器。 (K-lite前段時間幫助我)

但是,如果您的目標是在OpenCV中獲得原始YUV,答案是「不可能的」。

OpenCV的是硬編碼到每個輸入格式轉換爲BGR,所以即使您將能夠打開原始輸入,它會自動將其convery到BGR傳遞之前。沒有機會去解決這個問題,唯一的辦法就是使用不同的捕獲庫或侵入的OpenCV。

你能做什麼(模擬YUV輸入)是捕捉AVI,轉換爲YUV

cvtColor(...,CV_BGR2YCBCR /* or CV_BGR2YUV */); 

,然後再處理它