GPUImage在小图像上应用滤镜,但显示大图像

时间:2012-09-11 18:11:01

标签: iphone objective-c ios gpuimage

我正在开发一款可以从实时相机Feed中计算一些兴趣点的应用。我对此的算法非常慢,因此我使用forceProcessingAtSizeRespectingAspectRatio对小图像应用处理。

[filter forceProcessingAtSizeRespectingAspectRatio:CGSizeMake(100, 80)];

我显示从过滤器获得的图像,如下所示:

GPUImageView *filterView = (GPUImageView *)imageView;
[filter addTarget:filterView];

我希望能够在设备上显示全分辨率图像。我已经将我在算法中计算的兴趣点归一化,因此我可以将它们映射到全分辨率图像。但我无法获得设备上显示的全分辨率图像。

1 个答案:

答案 0 :(得分:0)

我对此的建议是拆分处理管道,让一个输出以全分辨率进入屏幕,另一个以较小的尺寸进入屏幕。您可以通过向上一个过滤器添加两个目标来实现此目的:一个是全分辨率的GPUImageView,另一个是虚拟过滤器(如默认设置下的亮度过滤器)。仅在虚拟过滤器上使用 - forceProcessingAtSize:,而不是在管道中更早,并且您将从中获得分辨率较低的图像,同时仍然向屏幕显示完整分辨率的图像。管道的两个叉子将同时更新