重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
由于對于dxva2解碼得到的數據不宜copy回內存給CPU處理,所以最好的辦法是在GPU上直接進行處理。D3D的像素著色器能夠對像素直接進行操作,實現點運算極其簡單方便,簡單的卷積運算效果也非常好。但D3D9的限制也很多,對于過于復雜的圖像處理則顯得有些不能勝任。
1.點運算
點運算用HLSL非常容易實現,幾乎是公式怎么寫,代碼就怎么寫。以RGB轉灰度圖顯示為例:
texture Tex0 ; int iFlag = 0 ; float aValue= 0.0 ; float bValue= 0.0 ; sampler2D YTex = sampler_state { Texture =; MipFilter = LINEAR ; MinFilter = LINEAR ; MagFilter = LINEAR ; AddressU = CLAMP ; AddressV = CLAMP ; }; struct PS_INPUT { float2 uvCoords0 : TEXCOORD0 ; }; float4 Main( PS_INPUT input ) : COLOR0 { float4 yuvColor ; //rgb to gray 不知道是不是這么顯示的,姑且這么認為 float gray = tex2D( YTex, input.uvCoords0 ).r * 0.299 + tex2D( YTex, input.uvCoords0 ).g * 0.587 + tex2D( YTex, input.uvCoords0 ).b * 0.114 ; float s = 0 ; if(iFlag == 0) { s = aValue * gray + bValue/255 ; } else if(iFlag == 1) { s = aValue * log(1+gray) ; } else if(iFlag == 2) { s = aValue * pow(abs(gray),bValue) ; } yuvColor.r = s ; yuvColor.g = s ; yuvColor.b = s ; yuvColor.a = 1.0 ; return yuvColor ; }
另外有需要云服務器可以了解下創新互聯建站www.cdcxhl.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。