2014-12-09 9 views
0

Я снимаю видео с камеры (Macbook Air, OSX 10.9.5) через QTCaptureDecompressedVideoOutput и обрабатываю его, но мне нужно масштабировать изображение, входящее в него. По какой-либо причине изображение, переданное мне, не является размером, который я запрашивал при настройке атрибуты буфера пикселов:Как масштабировать из CVImageBufferRef - или - почему не заданы функции PixelBufferAttributes?

[mVideoOutput setPixelBufferAttributes: 
     [NSDictionary dictionaryWithObjectsAndKeys: 
      [NSNumber numberWithDouble:width], (id)kCVPixelBufferWidthKey, 
      [NSNumber numberWithDouble:height], (id)kCVPixelBufferHeightKey, 
      [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32ARGB], (id)kCVPixelBufferPixelFormatTypeKey, 
      nil]]; 

Я получаю изображение назад, которое в два раза больше, чем я запрашивал.

Каков наиболее эффективный способ масштабирования изображения до половины его размера?

Или еще лучше ....

Почему setPixelBufferAttributes не работает должным образом?

ответ

0

Похоже, что setPixelBufferAttributes был проигнорирован по первому запросу, поэтому при обратном вызове, когда изображение получено с камеры, я проверяю размер и снова выдаю запрос, если не правильный. Это, похоже, устранило проблему.