YUV420圖像裁剪

前面使用dshow獲取到了屏幕的截圖,而且轉換成了yuv420格式。、ui

如今須要能獲取截圖的部分區域。 原本打算在dshow獲取截圖的時候直接裁剪得到某個區域的rgb圖像,但發現這樣作,有時候成功不了。spa

所以只能選擇獲取完整的屏幕截圖,轉換成yuv後再進行裁剪:code

YUV420裁剪代碼以下:class


#include "yuvcut.h"

#include

YuvCut::YuvCut()
{

}


void YuvCut::Yuv420Cut(int x,int y,int desW,int desH,int srcW,int srcH,uint8_t *srcBuffer,uint8_t *desBuffer)
{
    int tmpRange;
    int bufferIndex;

    int yIndex = 0;
    bufferIndex = 0 + x + y*srcW;
    tmpRange = srcW * desH;
    for (int i=0;i