当前位置: 首页 > news >正文

北京网站建设百度排名海报设计说明200字

北京网站建设百度排名,海报设计说明200字,做网站用需要几个软件,电商页面设计公司CoreImage提供图像处理、人脸识别、图像增强、图像滤镜、图像转场。它操作的数据来自Core Graphics、Core Video、Image IO#xff0c;使用CPU或GPU进行渲染。CoreImage对底层实现进行封装#xff0c;为上层提供简单易用的API。 一、CoreImage框架 CoreImage框架分为#…CoreImage提供图像处理、人脸识别、图像增强、图像滤镜、图像转场。它操作的数据来自Core Graphics、Core Video、Image IO使用CPU或GPU进行渲染。CoreImage对底层实现进行封装为上层提供简单易用的API。 一、CoreImage框架 CoreImage框架分为渲染层、处理层、API层。其中渲染层包括GPU渲染(OpenGL和Metal)、CPU渲染(Grand Central Dispatch)处理层有Built-in Filters内建滤镜API层有Core Graphics、Core Video、Image IO。如下图所示 二、图像处理 1、图像处理流程 图像处理主要包括三个类CIContext、CIFilter、CIImage。处理流程示例如下 import CoreImage// 1、创建CIContext let context CIContext() // 2、创建CIFilter let filter CIFilter(name: CISepiaTone)! filter.setValue(0.8, forKey: kCIInputIntensityKey) // 3、创建CIImage let image CIImage(contentsOfURL: mURL) // 4、image应用到filter滤镜 filter.setValue(image, forKey: kCIInputImageKey) let result filter.outputImage! // 5、使用context创建CGImage(用于管理image以及对象复用) let cgImage context.createCGImage(result, from: result.extent) // 6、显示滤镜结果 imageView.image UIImage(CIImage: result) 2、图像数据类型 图像作为输入输出的Filter包括数据类型如下 图像文件的URL或图像数据的NSData CGImageRef、UIImage、NSBitmapImageRep对象 Metal、OpenGl纹理 CVImageBufferRef、CVPixelBufferRef 跨进程共享数据的IOSurfaceRef 内存的Bitmap数据或CIImageProvider 3、创建Filter Chain Filter Chain滤镜链的创建示例代码如下 func applyFilterChain(to image: CIImage) - CIImage {// 创建CIFilter并且设置color滤镜let colorFilter CIFilter(name: CIPhotoEffectProcess, withInputParameters:[kCIInputImageKey: image])!// 应用bloom滤镜let bloomImage colorFilter.outputImage!.applyingFilter(CIBloom,withInputParameters: [kCIInputRadiusKey: 10.0,kCIInputIntensityKey: 1.0])// 图像裁剪let cropRect CGRect(x: 350, y: 350, width: 150, height: 150)let croppedImage bloomImage.cropping(to: cropRect)return croppedImage } 4、应用滤镜到视频 以高斯模糊滤镜应用到视频为例相关代码如下 // 创建高斯模糊filter let filter CIFilter(name: CIGaussianBlur)! let composition AVVideoComposition(asset: asset, applyingCIFiltersWithHandler: { request inlet source request.sourceImage.clampingToExtent()filter.setValue(source, forKey: kCIInputImageKey)// 根据时间戳设置模糊系数let seconds CMTimeGetSeconds(request.compositionTime)filter.setValue(seconds * 10.0, forKey: kCIInputRadiusKey)// 裁剪let output filter.outputImage!.cropping(to: request.sourceImage.extent)// 应用滤镜结果到视频request.finish(with: output, context: nil) }) 5、使用Metal实时滤镜 首先创建Metal view用于图像渲染 class ViewController: UIViewController, MTKViewDelegate {// Metal设备、纹理、队列var device: MTLDevice!var commandQueue: MTLCommandQueue!var sourceTexture: MTLTexture!// 高斯模糊var context: CIContext!let filter CIFilter(name: CIGaussianBlur)!let colorSpace CGColorSpaceCreateDeviceRGB()override func viewDidLoad() {super.viewDidLoad()// 创建设备、命令队列device MTLCreateSystemDefaultDevice()commandQueue device.newCommandQueue()let view self.view as! MTKViewview.delegate selfview.device deviceview.framebufferOnly false// 创建CIContextcontext CIContext(mtlDevice: device)} } 实时滤镜渲染流程示例代码如下 public func draw(in view: MTKView) {if let currentDrawable view.currentDrawable {let commandBuffer commandQueue.commandBuffer()// 1、使用纹理创建UIImage并且进行滤镜let inputImage CIImage(mtlTexture: sourceTexture)!filter.setValue(inputImage, forKey: kCIInputImageKey)filter.setValue(20.0, forKey: kCIInputRadiusKey)// 2、使用context进行渲染context.render(filter.outputImage!,to: currentDrawable.texture,commandBuffer: commandBuffer,bounds: inputImage.extent,colorSpace: colorSpace)// 3、使用buffer显示结果commandBuffer.present(currentDrawable)commandBuffer.commit()} } 三、人脸识别 iOS提供CIDetector进行人脸识别示例代码如下 // 1、创建CIContext CIContext *context [CIContext context]; // 2、创建options指定识别精度 NSDictionary *opts { CIDetectorAccuracy : CIDetectorAccuracyHigh }; // 3、创建检测器指定识别类型 CIDetector *detector [CIDetector detectorOfType:CIDetectorTypeFacecontext:contextoptions:opts]; // 4、指定图像方向 opts { CIDetectorImageOrientation :[[mImage properties] valueForKey:kCGImagePropertyOrientation] }; // 5、获取识别结果 NSArray *features [detector featuresInImage:mImage options:opts]; 人脸识别结果包含左眼、右眼、嘴巴的位置结果判断如下 for (CIFaceFeature *f in features) {NSLog(%, NSStringFromRect(f.bounds));if (f.hasLeftEyePosition) {NSLog(Left eye x%g y%g, f.leftEyePosition.x, f.leftEyePosition.y);}if (f.hasRightEyePosition) {NSLog(Right eye x%g y%g, f.rightEyePosition.x, f.rightEyePosition.y);}if (f.hasMouthPosition) {NSLog(Mouth x%g y%g, f.mouthPosition.x, f.mouthPosition.y);} } 我们来看下人脸识别效果 四、图像增强 iOS提供的图像增强包括红眼矫正、脸部平衡、色彩增强、阴影突出如下表所示 Filter描述CIRedEyeCorrection修复摄像头闪光引起的红眼CIFaceBalance根据肤色调整脸部颜色CIVibrance增强饱和度CIToneCurve调整对比度CIHighlightShadowAdjust调整阴影细节 图像增强的使用示例如下 NSDictionary *options { CIDetectorImageOrientation :[[image properties] valueForKey:kCGImagePropertyOrientation] }; NSArray *adjustments [image autoAdjustmentFiltersWithOptions:options]; for (CIFilter *filter in adjustments) {[filter setValue:image forKey:kCIInputImageKey];myImage filter.outputImage; }
http://www.dnsts.com.cn/news/119701.html

相关文章:

  • 淘宝客登记新网站郑州经济技术开发区协同办公系统
  • 太原网站制作电话电子商务课程视频
  • 汽车行业网站建设方案视频网站怎么赚钱
  • 莱芜网站优化排名公司阳东区建设局网站
  • 网站建设 淘宝运营天津市建设工程协会网站
  • 微信小程序开发网站建设旅游网站推荐
  • 衡水网站建设维护跨境电商东莞网站建设
  • 百度关键字搜索到自己的网站建设网站需要考虑什么
  • 网站网络推广优化厦门关键词seo排名网站
  • 注册公司网站模板下载短视频推广的好处
  • 网站编写语言什么好建设工程规划许可证网站
  • 网站托管服务提供商有网站建wap
  • 网站建设投票系统设计设计公司属于什么企业
  • 网站留言模块app设计理念
  • 凡客衬衫官方网站学服装设计培训机构
  • 合肥行业网站建设洛阳孟津网站建设
  • 有没有免费注册的网站智能网站建设推荐
  • 怎么给网站做缓存河北省建设局材料备案网站
  • 小说网站做公众号好还是网站好软件开发项目管理的核心
  • 久免费域名注册网站水土保持与生态建设网站
  • 为什么进不了中国建设银行网站简单的网站开发
  • 如何建立公司网站建设苏州新区网站制作
  • 网站关停公告怎么做2023年房地产最新消息
  • 武威 网站建设网站投诉平台
  • 电子产品商务网站模板深圳专业专业网站建设
  • 网站建设需要学什么能力做网站项目实例
  • 织梦做的网站怎么加弹窗如何做区块链网站
  • 晋江网站有什么职业做零食网站色调搭配怎么做
  • 淮安企业网站建设中国域名查询
  • 陌上香坊是做盗版的网站吗网站icp备案申请流程