2012-05-14 5 views
1

Mac에서 얼굴 인식을하는 앱을 개발 중이며 QTCaptureDecompressedVideoOutput에서 QTCaptureSession을 사용하고 있습니다. 나는 640X360으로 비디오 해상도를 제한하고, 32ARGB 픽셀 포맷을 사용하고, 최소 비디오 프레임 간격을 0으로 설정하여 프레임 속도를 향상 시키지만 실제로 도움이되지는 못한다.QTCaptureSession으로 15FPS 이상을 얻으려면 어떻게해야합니까?

QTCaptureDecompressedVideoOutput *output = [[QTCaptureDecompressedVideoOutput alloc] init]; 
[output setPixelBufferAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
            [NSNumber numberWithDouble:640], (id)kCVPixelBufferWidthKey, 
            [NSNumber numberWithDouble:360], (id)kCVPixelBufferHeightKey, 
            [NSNumber numberWithInt:kCVPixelFormatType_32ARGB], (id)kCVPixelBufferPixelFormatTypeKey,          
            nil]];  

output.minimumVideoFrameInterval = 0; 

내가하는 일과 관계없이 프레임 속도는 15-15.5FPS 주변에서 최고조로 보입니다. 매우 최근의 MacBook Pro 15 "/ 2.3GHz Core i7에서 내장 카메라를 사용하고 있습니다 (10.7.3).

답변

1

일반적으로 내장 된 iSight 카메라는 거대한 프레임을 생성합니다. 캡쳐 입력뿐만 아니라 특정 캡처 출력. 또한 원래 캡처 한 이미지가 지정된 픽셀 형식이 아니기 때문에 형식 변환이 수행됩니다. 따라서 다른 픽셀 버퍼 형식을 지정하면 처리 속도가 느려집니다 .

minimumVideoFrameInterval는 기본적으로 0, 당신은 최대 프레임 속도를 찾는 경우를 변경할 필요가 없습니다. 당신이 가지고있는 프레임 속도는이 시간에 최대 가능하다.

픽셀 버퍼 지정을 피하고 FPS에 차이가 있는지 확인하십시오. 또한 해상도가 낮은 다른 외부 카메라를 사용하여 시스템 부하를 크게 줄일 수있었습니다.

+0

고마워요. 나는 원래 픽셀 버퍼 속성을 설정하지 않았고 여전히 15fps 밖에 가지고 있지 않았습니다. 나는 단지 최소 프레임 간격을 설정하지만, 기본적으로 0입니다. 설명서를 읽은 후 기본 설정이 프레임 속도에 최적화되어있는 것 같지만 아직 15fps 밖에 얻을 수 없습니다. – yipe