Moo*_*293 4 core-graphics objective-c core-image
我正在尝试为我的程序(流式传输网络摄像头)创建一个过滤器,使框架水平翻转,使网络摄像头就像一面镜子.
但是,在编译和运行时,过滤器似乎对它没有任何影响.
这是代码:
CIImage *resultImage = image;
CIFilter *flipFilter = [CIFilter filterWithName:@"CIAffineTransform"];
[flipFilter setValue:resultImage forKey:@"inputTransform"];
NSAffineTransform* flipTransform = [NSAffineTransform transform];
[flipTransform scaleXBy:-1.0 yBy:1.0]; //horizontal flip
[flipFilter setValue:flipTransform forKey:@"inputTransform"];
resultImage = [flipFilter valueForKey:@"outputImage"];
Run Code Online (Sandbox Code Playgroud)
奇怪的是,其他过滤器似乎也有效.例如:
CIFilter * ciEffectFilter = [CIFilter filterWithName:@"CIGloom"];
[ciEffectFilter setDefaults];
CIImage *resultImage = image;
[ciEffectFilter setValue: resultImage forKey:@"inputImage"];
[ciEffectFilter setValue:[NSNumber numberWithFloat: 0.75]
forKey:@"inputIntensity"];
[ciEffectFilter setValue:[NSNumber numberWithFloat: 20]
forKey:@"inputRadius"];
resultImage = [ciEffectFilter valueForKey:@"outputImage"];
CIFilter *ciCropFilter = [CIFilter filterWithName:@"CICrop"];
[ciCropFilter setDefaults];
[ciCropFilter setValue: resultImage forKey:@"inputImage"];
[ciCropFilter setValue: [CIVector vectorWithX:50 Y:50 Z:300 W:
300] forKey:@"inputRectangle"];
resultImage = [ciCropFilter valueForKey:@"outputImage"];
Run Code Online (Sandbox Code Playgroud)
它与NSAffineTransform有关吗?我环顾四周,但我没有找到任何答案.谢谢堆!
我不确定这是不是问题,但是在你的第一个代码片段中,你为同一个键设置了两个不同的值(你设置了inputTransform两次),我想第一个应该是inputImage.请尝试以下方法:
CIImage *resultImage = image;
CIFilter *flipFilter = [CIFilter filterWithName:@"CIAffineTransform"];
[flipFilter setValue:resultImage forKey:@"inputImage"];
NSAffineTransform* flipTransform = [NSAffineTransform transform];
[flipTransform scaleXBy:-1.0 yBy:1.0]; //horizontal flip
[flipFilter setValue:flipTransform forKey:@"inputTransform"];
resultImage = [flipFilter valueForKey:@"outputImage"];
Run Code Online (Sandbox Code Playgroud)
此外,您可能需要将X轴平移图像的宽度
[flipTransform translateXBy:... yBy:0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4632 次 |
| 最近记录: |