센서의 컬러 이미지를 사용하는 Kinect 애플리케이션을 작성하고 있습니다. 나는 640 x 480 컬러 이미지를 얻었고 센서의 데이터를 WritePixels 메서드로 WriteableBitmap에 복사했습니다. 전체 컬러 이미지를 사용할 때 아무런 문제가 없습니다. 그러나 이미지의 가운데 부분 만 사용하고 싶습니다. 그러나 나는 보폭을 얻을 수 없으며, 또는 오른쪽 오프셋을 할 수 없습니까? 나는 단지 이미지의 중간 부분을 원하는 언급으로WritePixels의 보폭과 오프셋 계산 문제
_colorImageWritableBitmap.WritePixels(
new Int32Rect(0, 0, colorImageFrame.Width, colorImageFrame.Height),
_colorImageData,
colorImageFrame.Width * Bgr32BytesPerPixel,
0);
:
내가 다음을 수행 전체 이미지를 복사합니다. 나는 폭이 185px에서 시작하여 다음 270px를 가져다가 멈추고 싶습니다. 그리고 나는 전체 높이를 사용합니다.내 PixelFormat은 bgr32이므로 바이트 수를 계산할 수 있습니다. 픽셀 내가 사용
var bytesPrPixel = (PixelFormats.Bgr32.BitsPerPixel + 7)/8;
그리고 내 보폭 :
var stride = bytesPrPixel*width;
writepixel 방법 :
_colorImageWritableBitmap.WritePixels(
new Int32Rect(0, 0, colorImageFrame.Width, colorImageFrame.Height),
_colorImageData, stride, offset);
하지만 640 이외의 너비를 변경하면 이미지가 잘못 얻는다 (숨겨진 잡음 있음).
내가 여기서 잘못하고있는 것을 누군가 이해할 수 있습니까?
센터 스퀘어 또는 원을 원하십니까? – bonCodigo
그냥 가운데 사각형을 사용하십시오 270 x 480 – DNRN
실행하는 동안 너비를 편집합니까? 그렇다면 너는 보폭과 너비를 사용하는 모든 다른 var도 편집해야 할 것입니다. –