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
があります:??
私はそれをダウンロードしました。ソースコードはありません。これはdllファイルだけです。私はそれをフィルターグラフで使うことができませんでした。 – Karam
申し訳ありませんが、それはSVNアクセスがあったと思った – Pete