2

プレビューおよびキャプチャしているビデオを水平方向に反転する必要があります。ああ、iChat、私は Web カメラを持っていて、ユーザーが鏡を見ているように見せたいと思っています。

で Quicktime ビデオをプレビューしていQTCaptureViewます。私のキャプチャは、次のような方法でフレームごとに行われます(理由については説明しません)。

imageRep = [NSCIImageRep imageRepWithCIImage: [CIImage imageWithCVImageBuffer: frame]];
image = [[NSImage alloc] initWithSize: [imageRep size]];
[image addRepresentation: imageRep];
[movie addImage: image forDuration: someDuration withAttributes: someAttributes];

任意のヒント?

4

3 に答える 3

10

古い質問を復活させるようなものはありません。とにかく、私はここに来て、Brian Webster のおかげで探していたものをほとんど見つけましたが、誰かが卸売ソリューションを探している場合は、クラスをQTCaptureViewインスタンスのデリゲートとして設定した後、これを試してください:

- (CIImage *)view:(QTCaptureView *)view willDisplayImage:(CIImage *)image {
//mirror image across y axis
return [image imageByApplyingTransform:CGAffineTransformMakeScale(-1, 1)];
}
于 2010-01-03T07:51:17.473 に答える
3

これを行うには、キャプチャから取得した CIImage を取得し、Core Image フィルターを介して実行して画像を反転させます。次に、元のイメージではなく、結果のイメージをイメージ担当者に渡します。コードは次のようになります。

CIImage* capturedImage = [CIImage imageWithCVImageBuffer:buffer];
NSAffineTransform* flipTransform = [NSAffineTransform transform];
CIFilter* flipFilter;
CIImage* flippedImage;

[flipTransform scaleByX:-1.0 y:1.0]; //horizontal flip
flipFilter = [CIImage filterWithName:@"CIAffineTransform"];
[flipFilter setValue:flipTransform forKey:@"inputTransform"];
[flipFilter setValue:capturedImage forKey:@"inputImage"];
flippedImage = [flipFilter valueForKey:@"outputImage"];
imageRep = [NSCIImageRep imageRepWithCIImage:flippedImage];
...
于 2009-05-04T15:32:17.770 に答える
0

これを試して!フィルターは CaptureView に適用されますが、出力ビデオには適用されません。

- (IBAction)Vibrance:(id)sender
{
    CIFilter* CIVibrance = [CIFilter filterWithName:@"CIVibrance" keysAndValues:
                            @"inputAmount", [NSNumber numberWithDouble:2.0f],
                            nil];
    mCaptureView.contentFilters = [NSArray arrayWithObject:CIVibrance];
}

ところで、この参照から任意のフィルターを適用できます: https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CoreImageFilterReference/Reference/reference.html

于 2013-02-08T12:24:58.443 に答える