2011-05-15 1 views
1

전 AVFoundation에 대해 처음입니다. 이전의 좋은 UIImagePickerControllerSourceTypeCamera를 사용하기 전에.iPhone 용 AVFoundation을 사용하여 오버레이/조작을 추가 하시겠습니까?

나는 기본적으로 반투명 오버레이의 오버레이를 추가 할뿐만 아니라 블랙 & 흰색 효과, 세피아를 만드는 픽셀을 조작의 조합을 수행 할 등 내가 그것을 표시하고 그것을 포착하고

AVFoundation 프레임 워크를 사용하여 프레임을 가져올 수는 있지만 오버레이를 추가하는 방법을 모르겠습니다.

도와주세요. 감사.

답변

1

이미지에서 상당한 처리량을 수행하려는 경우 OpenGL ES를 사용하는 것이 좋습니다. 오버레이와 같이 단순하다면 CoreGraphics를 사용할 수 있습니다.

다음은 픽셀을 빠르게 가져 오는 것입니다. 비디오를 처리 할 수는 OpenGL ES를 사용하여 좋은 출발점이 들어

void modifyImage(CMSampleBufferRef source) { 
    CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(source); 
    CVPixelBufferLockBaseAddress(imageBuffer,0); 

    size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer); 
    size_t width = CVPixelBufferGetWidth(imageBuffer); 
    size_t height = CVPixelBufferGetHeight(imageBuffer); 
    void *src_buff = CVPixelBufferGetBaseAddress(imageBuffer); 

    int32_t *src = (int32_t*) src_buff; 

    //modify the image 

    CVPixelBufferUnlockBaseAddress(imageBuffer, 0); 
    return; 
} 

Brad Larson's 블로그를 참조하십시오.

+0

이 스 니펫에 대해 알아 보겠습니까? 모든 예제 링크? –