2012-04-27 12 views
0

o/pビデオを関心領域にトリミングするフィルタをdirectshowで作成します。 "[DIBSIZE]を使用して[biWidth、biHeight and biSizeImage]を変更してポインタを割り当てた後、pMediatypeのビデオヘッダを変更しています。詳細はdirectshowビデオクロッピングフィルタ

です
// pvih is a pointer to pMediaType->pbFormat of type videoheader 
//pInVh is a pointer to CurrentMediaType().pbFormat of the i/p of type videoheader 
pvih->rcSource = pInVh->rcSource; 
pvih->rcTarget = pInVh->rcTarget; 
//bitmap settings 
pvih->bmiHeader.biWidth = _Width;//width of region of interest 
pvih->bmiHeader.biHeight = _Height;// height of region of interest 
m_Width=pInVh->bmiHeader.biWidth; 
m_Height=pInVh->bmiHeader.biHeight; 
pvih->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); 
pvih->bmiHeader.biPlanes = 1;    //1 image plane 
pvih->bmiHeader.biBitCount = 24;   //24bit 
pvih->bmiHeader.biCompression = BI_RGB; //simply three values 
pvih->bmiHeader.biSizeImage = DIBSIZE(pvih->bmiHeader); 


//mediatype settings 
pMediaType->majortype = MEDIATYPE_Video; //a video stream 
pMediaType->subtype = MEDIASUBTYPE_RGB24; //24bit rgb samples 
pMediaType->bFixedSizeSamples = true;  //no varying size 
pMediaType->bTemporalCompression = false; //no compression 
pMediaType->formattype = FORMAT_VideoInfo; //VIDEOINFOHEADER 
pMediaType->lSampleSize = pvih->bmiHeader.biWidth * pvih->bmiHeader.biHeight * pvih- >bmiHeader.biBitCount/8; //size of one sample in bytes 
pMediaType->cbFormat = sizeof(VIDEOINFOHEADER); //additiona format setting 

しかし、私は、元のフレームのサンプルで切り取ったフレームを塗りつぶしたとき、o/pビデオはゴミである、私は一定の色で塗りつぶすことも試みたが、o/pは正しくない http://videoprocessing.sourceforge.net/#crop

があります:??

答えて

0

をこの問題を解決するためには、任意のヘルプのこのです利用可能なソースコード。

+0

私はそれをダウンロードしました。ソースコードはありません。これはdllファイルだけです。私はそれをフィルターグラフで使うことができませんでした。 – Karam

+0

申し訳ありませんが、それはSVNアクセスがあったと思った – Pete

関連する問題