如何制作美颜和滤镜的风格(草稿)

RGB曲线 其他方法 参考资料 如何制作摄影类 app 中的滤镜 Android平台Camera实时滤镜实现方法探讨(七)–滤镜基本制作方法(一) An implementation of High Pass Skin Smoothing using Apple’s Core Image Framework, 该项目基于CoreImage实现了磨皮滤镜 An implementation of High Pass Skin Smoothing using GPUImage,基于GPUImage实现

人脸贴纸实现原理

概述 本文是对以下代码基于GPUImage的实时视频流贴纸Demo分析贴纸的实现。 主要流程 GPUImageCamera -> GPUStickerFilter(根据人脸绘制贴纸) -> GPUImageView GPUImageCamera (回调) -> 人脸识别 -> 人脸位置 人脸识别 // 人脸检测 – (void)willOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer { // 人脸识别的算法 NSMutableArray *faces = [NSMutableArray arrayWithCapacity:arr.count]; for (NSArray *ele in arr) { NSMutableArray *points = [NSMutableArray arrayWithCapacity:ele.count]; for (NSDictionary *dic in ele) { CGPoint point = CGPointMake([dic[@”x”] floatValue], [dic[@”y”] floatValue]); [points addObject:[NSValue valueWithCGPoint:point]]; } […]

Android GPUImage 整体架构 (1)

整体架构 CameraLoader 设置Camera private void setUpCamera(final int id) { mCameraInstance = getCameraInstance(id); Parameters parameters = mCameraInstance.getParameters(); // TODO adjust by getting supportedPreviewSizes and then choosing // the best one for screen size (best fill screen) if (parameters.getSupportedFocusModes().contains( Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) { parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE); } mCameraInstance.setParameters(parameters); int orientation = mCameraHelper.getCameraDisplayOrientation( ActivityCamera.this, mCurrentCameraId); CameraInfo2 cameraInfo = new CameraInfo2(); mCameraHelper.getCameraInfo(mCurrentCameraId, cameraInfo); […]