2009-11-14 14 views
2

j'ai un QCView qui charge un fichier de quartz qui vous donne iSights rétroaction (essentiellement comme un QTCaptureView)En utilisant QCView et iSight pour capturer l'image

Tout affiche bien

Le bouton prend simplement un instantané en utilisant les éléments suivants simples lignes de code

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

L'image exportée a cependant quelques problèmes de coloration très bancal comme ceci: http://kttns.org/gjhnj

Aucun filtre de quelque sorte que ce soit n'a été appliqué. Est-ce que quelqu'un sait ce qui cause cela?

+0

avez-vous découvert le problème? – siukurnin

Répondre

1

Il est inversé. Vous pouvez utiliser le filtre CIInvert pour le corriger (en supposant qu'il n'y ait aucun moyen de corriger la sortie réelle de la vue CQ). Oh, et je pense que les canaux alpha bleus et verts sont aussi à l'envers (peut-être un problème d'endianisme?). Si vous optez pour la solution CIInvert, vous pouvez utiliser CIColorMatrix pour réorganiser les canaux, en remettant le bleu et le vert à leur place. Here's a tutorial I wrote for it -J'ai écrit pour l'interface utilisateur dans Core Image Fun House, mais son utilisation par programmation ne devrait pas être trop difficile une fois que vous aurez compris le fonctionnement du filtre.

+0

Le lien est cassé – rraallvv