CVPixelBufferRef RDB 및 YUV 제거
꺼내기
-(int) getImageData:(const CVImageBufferRef&) imageBuffer senddata:(unsigned char)data { int w,h,linesizey,linesizeuv; unsigned char srcy=NULL; unsigned char* srcu=NULL; unsigned char* srcv=NULL;
CVPixelBufferLockBaseAddress(imageBuffer, 0);
int count=CVPixelBufferGetPlaneCount(imageBuffer);
//printf("CVPixelBufferGetPlaneCount=%d
",count);
if (CVPixelBufferIsPlanar(imageBuffer)) {
w = CVPixelBufferGetWidth(imageBuffer);
h = CVPixelBufferGetHeight(imageBuffer);
// printf("w: %d,h: %d.
",w,h);
linesizey = CVPixelBufferGetBytesPerRowOfPlane(imageBuffer, 0);
linesizeuv = CVPixelBufferGetBytesPerRowOfPlane(imageBuffer, 1);
// printf("CVPixelBufferGetBytesPerRowOfPlane is ok.
");
srcy = (unsigned char*) CVPixelBufferGetBaseAddressOfPlane(imageBuffer, 0);
srcu = (unsigned char*) CVPixelBufferGetBaseAddressOfPlane(imageBuffer, 1);
srcv = (unsigned char*) CVPixelBufferGetBaseAddressOfPlane(imageBuffer, 2);
memcpy(data,srcy,720*1280);
memcpy(data+720*1280,srcu,720*1280/4);
memcpy(data+720*1280*5/4,srcv,720*1280/4);
// printf("CVPixelBufferGetBaseAddressOfPlane is ok.
");
}
else
{
printf("CVPixelBufferIsPlanar error
");
return -1;
}
return 0;
}
RGB 체크 아웃
RGBPixel pixel = pixelData[i/4];
int a = 0;
int r = pixel.red;
int g = pixel.green;
int b = pixel.blue;
NSLog(@"first values = r:%d g:%d b:%d", r, g, b);
a = src_buff[i+3];
r = src_buff[i+2];
g = src_buff[i+1];
b = src_buff[i];
NSLog(@"second values = r:%d g:%d b:%d", r, g, b);
} }
http://www.bubuko.com/infodetail-526746.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.