【问题标题】:Convolution UIImage with GPUImage framework卷积 UIImage 与 GPUImage 框架
【发布时间】:2016-03-24 04:18:31
【问题描述】:

我正在尝试使用 GPUImage 框架的 GPUImage3x3ConvolutionFilter 但不起作用。

这是我的代码,我只得到一张白色的图像。

- (UIImage *)convolution:(UIImage *)inputImage{

    GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:inputImage];

    GPUImage3x3ConvolutionFilter *filter = [[GPUImage3x3ConvolutionFilter alloc] init];
    [filter setConvolutionKernel:(GPUMatrix3x3){
        {-1.0f,  0.0f, 1.0f},
        {-2.0f,  0.0f, 2.0f},
        {-1.0f,  0.0f, 1.0f}
    }];

    [stillImageSource addTarget:filter];
    [stillImageSource processImage];

    return stillImageSource.imageFromCurrentlyProcessedOutput;

}

我也在尝试改变:

return stillImageSource.imageFromCurrentlyProcessedOutput;

为:

return filter.imageFromCurrentlyProcessedOutput;

【问题讨论】:

    标签: ios image-processing convolution gpuimage


    【解决方案1】:

    这是由于框架中的错误造成的。卷积也被应用于图像的 alpha 通道,这导致[filter imageFromCurrentlyProcessedOutput] 情况下的 alpha 通道值为 0。我刚刚提交了代码来解决这个问题。

    请注意,[stillImageSource imageFromCurrentlyProcessedOutput] 什么都不做,因为您无法直接从相机输入中抓取未处理的图像。另外,我不会在这里使用点符号,因为-imageFromCurrentlyProcessedOutput 不是 GPUImageOutput 的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      相关资源
      最近更新 更多