日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GPUimage实时滤镜的实现

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GPUimage实时滤镜的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  GPUIMAGE中GPUImageStillCamera可以調用系統相機,并實現實時濾鏡,但是我沒有找到相機全屏的方法,望知道的說一下

GPUImageStillCamera繼承自GPUImageVideoCamera類,添加了捕獲照片的功能。

GPUImageVideoCamera

初始化方法:

- (id)initWithSessionPreset:(NSString *)sessionPreset cameraPosition:(AVCaptureDevicePosition)cameraPosition

sessionPreset是相機拍攝時的分辨率。它的值如下

AVCaptureSessionPresetPhoto AVCaptureSessionPresetHigh AVCaptureSessionPresetMedium AVCaptureSessionPresetLow AVCaptureSessionPreset320x240 AVCaptureSessionPreset352x288 AVCaptureSessionPreset640x480 AVCaptureSessionPreset960x540 AVCaptureSessionPreset1280x720 AVCaptureSessionPreset1920x1080 AVCaptureSessionPreset3840x2160 AVCaptureSessionPresetiFrame960x540 AVCaptureSessionPresetiFrame1280x720 AVCaptureSessionPresetInputPriority

?

cameraPosition相機設備,分為前后?

AVCaptureDevicePositionFront AVCaptureDevicePositionBack

?

?

- (void)startCameraCapture;開始捕獲

- (void)stopCameraCapture;停止捕獲

- (void)rotateCamera;切換前后攝像頭

?

  添加實時濾鏡

定義GPUImageStillCamera對象

mCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPresetPhoto cameraPosition:AVCaptureDevicePositionBack];_isBack = YES; // _mCamera.horizontallyMirrorRearFacingCamera = NO; // _mCamera.horizontallyMirrorFrontFacingCamera = YES;_mCamera.outputImageOrientation = UIInterfaceOrientationPortrait;

?

定義要應用的濾鏡

_mFilter = [[FWAmaroFilter alloc] init];

?

?

?定義GPUImageView對象,將GPUImageStillCamera對象捕獲的圖像打印在GPUImageView的層。

_mGPUImgView = [[GPUImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 426)];

?

添加濾鏡

[_mCamera addTarget:_mFilter];

?

添加顯示

[_mFilter addTarget:_mGPUImgView];

?

開始捕獲

[_mCamera startCameraCapture];

?

[self.view addSubview:_mGPUImgView];

?

到此為止。實時濾鏡已經實現

?

實現拍照

-(void)takePhoto{[_mCamera capturePhotoAsJPEGProcessedUpToFilter:_mFilter withCompletionHandler:^(NSData *processedJPEG, NSError *error){[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{[[PHAssetCreationRequest creationRequestForAsset] addResourceWithType:PHAssetResourceTypePhoto data:processedJPEG options:nil];} completionHandler:^(BOOL success, NSError * _Nullable error) {}];}]; }

?

總結

以上是生活随笔為你收集整理的GPUimage实时滤镜的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。