Использование QCView и iSight для захвата изображения - PullRequest
2 голосов
/ 14 ноября 2009

У меня есть QCView, который загружает файл Quartz, который дает обратную связь iSights (в основном, как QTCaptureView)

Все отображается нормально

Кнопка просто делает снимок, используя следующие простые строки кода

- (void)takePicture:(id)sender {NSImage *currentImage = [outputView valueForOutputKey:@"ImageOutput"];
[[currentImage TIFFRepresentation] writeToFile:@"/Users/hendo13/Desktop/capture.tiff" atomically:NO];}

Однако в экспортированном изображении есть некоторые очень странные проблемы с окраской, например: http://kttns.org/gjhnj

Никакие фильтры не были применены. Кто-нибудь знает, что вызывает это?

1 Ответ

1 голос
/ 14 ноября 2009

Перевернуто. Вы можете использовать фильтр CIInvert для его исправления (при условии, что нет способа исправить фактический вывод представления QC).

О, и я думаю, что синие и зеленые альфа-каналы тоже неправильны (возможно, проблема с порядком байтов?). Если вы используете решение CIInvert, вы можете использовать CIColorMatrix, чтобы переставить каналы, поменяв местами синий и зеленый цвета на свои места. Вот учебник, который я написал для него - я написал его для пользовательского интерфейса в Core Image Fun House, но использовать его программно не должно быть слишком сложно, когда вы поймете, как работает фильтр.

...