kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange 형식 (YUV, 양면성)의 IPhone에서 YUV 채널을 가져옵니다. 문제는 y_channel 화소 회전 및 미러링 나타 (I 무엇 모양 등을 표시 오버레이 층들을 무승부아이폰 YUV 채널 방향
는 I은 Y 채널을 처리하고자하므로 I는
CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
int bufferHeight = CVPixelBufferGetHeight(pixelBuffer);
int bufferWidth = CVPixelBufferGetWidth(pixelBuffer);
uint8_t *y_channel = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0);
을 사용하여 잡아 :
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context
{
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
CGContextRef bitmapContext = CGBitmapContextCreate(rotated,
imageSize->x,
imageSize->y,
8, // bitsPerComponent
1*imageSize->x, // bytesPerRow
colorSpace,
kCGImageAlphaNone);
CFRelease(colorSpace);
CGImageRef cgImage = CGBitmapContextCreateImage(bitmapContext);
CGContextDrawImage(context, CGRectMake(0, 0, imageSize->x/2, imageSize->y/2), cgImage);
CFRelease(cgImage);
CFRelease(bitmapContext);
}
I는 화소 통해 반복 고려하고 이미지의 고정 된 버전을 생성하지만, 올바른 방향 y_channel을 얻을 수있는 방법이 있다면 궁금있다 (IE : 90도 회전되지 않음) 카메라에서 똑바로.