1. 程式人生 > >iOS 圖片處理-利用GPUImage 磨皮和美白圖片

iOS 圖片處理-利用GPUImage 磨皮和美白圖片

專案中要求處理圖片, 簡單記錄一下美白和磨皮過程

(其中GPUImage還有美顏濾鏡, 使用方式基本一樣)

//磨皮
- (void)editPhotoByBilateralWithLevel:(CGFloat)level  {
    
    GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
    
    // 磨皮濾鏡
    GPUImageBilateralFilter *filter = [[GPUImageBilateralFilter alloc] init];
    
    //設定磨皮引數
    [filter setDistanceNormalizationFactor:level];
    
    [filter forceProcessingAtSize:image.size];
    
    [pic addTarget:filter];
    
    [pic processImage];
    
    [filter useNextFrameForImageCapture];
    
    image = [filter imageFromCurrentFramebuffer];
    
    _iconImgView.image = image;
   
}

//美白
- (void)editPhotoByBrightnessWithLevel:(CGFloat)level {
    
    UIImage *image = _originImage;
    
    GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
    
    // 美白濾鏡
    GPUImageBrightnessFilter *filter = [[GPUImageBrightnessFilter alloc] init];
    
    //設定美白引數
    filter.brightness = level;
    
    [filter forceProcessingAtSize:image.size];
    
    [pic addTarget:filter];
    
    [pic processImage];
    
    [filter useNextFrameForImageCapture];
    
    image = [filter imageFromCurrentFramebuffer];
    
    _iconImgView.image = image;
    
}