博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
笔记-GPUImage(二)图片滤镜
阅读量:7219 次
发布时间:2019-06-29

本文共 1969 字,大约阅读时间需要 6 分钟。

图片滤镜

GPUImagePicture 用于已拍摄的图片加滤镜

直接上代码:

- (UIImage *)imageProcessdUsingGPUImage:(UIImage *)imageToProcess {    GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:imageToProcess];    // 设置滤镜    GPUImageSepiaFilter *stillImageFilter = [[GPUImageSepiaFilter alloc]init];    [stillImageSource addTarget:stillImageFilter];    [stillImageFilter useNextFrameForImageCapture];    [stillImageSource processImage];        UIImage *currentFilteredVideoFrame = [stillImageFilter imageFromCurrentFramebuffer];    return currentFilteredVideoFrame;}复制代码

效果图:

处理图片的方法有多种:CPU、CoreImage、GPUImage

处理效率(性能):CPU >= GPUImage > CoreImage

具体可参考:

GPUImageStillCamera 用于实时拍摄照片加滤镜

直接上代码:

- (void)configGPUImageView {    // 可视的预览view    GPUImageView *imageView = [[GPUImageView alloc]initWithFrame:self.view.frame];    imageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;    imageView.fillMode = kGPUImageFillModePreserveAspectRatio;    self.view = imageView;        // 创建滤镜    self.filter = [[GPUImageSketchFilter alloc]init];        // 创建Camera    self.stillCamera = [[GPUImageStillCamera alloc]initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];    _stillCamera.outputImageOrientation = UIInterfaceOrientationPortrait;        [_stillCamera addTarget:_filter];    [_filter addTarget:imageView];    [_stillCamera startCameraCapture];}// 拍摄- (void)buttonAction {    [_stillCamera capturePhotoAsJPEGProcessedUpToFilter:_filter withCompletionHandler:^(NSData *processedJPEG, NSError *error) {        ALAssetsLibrary *library = [[ALAssetsLibrary alloc]init];        [library writeImageDataToSavedPhotosAlbum:processedJPEG metadata:self.stillCamera.currentCaptureMetadata completionBlock:^(NSURL *assetURL, NSError *error) {            if (error) {                NSLog(@"ERROR: failed");            }else {                NSLog(@"SUCCESS: saved");            }        }];    }];}复制代码

效果图:

转载地址:http://tvxym.baihongyu.com/

你可能感兴趣的文章
数据结构之哈夫曼树
查看>>
hdu1038
查看>>
CentOS 6.4下Zabbix的安装配置
查看>>
前端开发注意的问题 ,浏览器兼容性
查看>>
centos和redhat下 uwsgi配置
查看>>
Markdown 学习笔记
查看>>
vue-element-admin 多层路由问题
查看>>
Css问题 margin float 文档流 背景图底部充满
查看>>
JS match() 方法 使用
查看>>
关于shopee平台接口(php)对接示例
查看>>
BNU OJ 51000 BQG's Random String
查看>>
PAT (Advanced Level) 1044. Shopping in Mars (25)
查看>>
hdu 1531 King
查看>>
***R
查看>>
Linux 源码编译安装mysql
查看>>
取消手机端页面长按图片出现保存或者图片被打开的方法
查看>>
关于图片居中问题
查看>>
并发下的死锁问题
查看>>
Winserver下的Hyper-v “未在远程桌面会话中捕获到鼠标”
查看>>
oracle体系结构基础
查看>>