copying webcamtexture to texture2d produce slightly blurred image

hello guys
currently i’m trying to take a snapshot from a webcam and place the snapshot (as a texture2d) to an object (I’m using NGUI, so this object contains UITexture component). However this texture2d appears to be slightly blurred instead of clear and sharp as what the webcam sees, and I want to get a texture2d that is as clear and sharp as possible.

the following are codes that I’m currently using:

webcamTexture = (WebCamTexture)GameObject.Find("webcam").GetComponent<webcamScript>().webcamTex;
webcamTexture.requestedWidth = webcamWidth;
webcamTexture.requestedHeight = webcamHeight;

here I grab the WebCamTexture from an object called “webcam” which contains the WebCamTexture.
webcamWidth and webcamHeight are two integer which I input the value from inspector.

webcamCaptureTex = new Texture2D(webcamTexture.width,webcamTexture.height);
Debug.Log("width:  " + webcamCaptureTex.width + "     " + "height:  " + webcamCaptureTex.height );
		
webcamCaptureTex.anisoLevel = 9;
webcamCaptureTex.mipMapBias = -0.5f;

here I set up the texture2d which store the snapshot, as you can see I set up the texture with width and height of the webcam
strangely though, the result from the log always says the webcamCaptureTex.width and webcamCaptureTex.height are 1920 and 1080 respectively. So this leads to the thought that I may actually used the wrong parameter value for the texture2D that used to store the snapshot

Color[] c = webcamTexture.GetPixels(0,0,webcamTexture.width,webcamTexture.height);
		
webcamCaptureTex.SetPixels(0,0, webcamCaptureTex.width, webcamCaptureTex.height, c);
webcamCaptureTex.Apply();
		
camPhoto.material.mainTexture = webcamCaptureTex;

here is where I actually take the pixels from the webcam and apply them to the texture2d

any thought that I have made mistake(s) anywhere?
any help would be greatly appreciated.

bump