亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

Swift圖像處理之優化照片

2020-03-09 17:53:02
字體:
來源:轉載
供稿:網友
Core Image能通過分析圖片的各個屬性,人臉的區域等進行自動優化圖片。我們只需要調用autoAdjustmentFiltersWithOptions這個API方法獲取各個自動增強濾鏡來優化圖片即可。不管是人物照片還是風景照均可增強效果
 

Core Image能通過分析圖片的各個屬性,人臉的區域等進行自動優化圖片。我們只需要調用autoAdjustmentFiltersWithOptions這個API方法獲取各個自動增強濾鏡來優化圖片即可。不管是人物照片還是風景照均可增強效果。

(以前另外還有個叫autoAdjustmentFilters的方法,現已廢除。)

1.具體使用的濾鏡如下:

(1)CIRedEyeCorrection:修復因相機的閃光燈導致的各種紅眼
(2)CIFaceBalance:調整膚色
(3)CIVibrance:在不影響膚色的情況下,改善圖像的飽和度
(4)CIToneCurve:改善圖像的對比度
(5)CIHighlightShadowAdjust:改善陰影細節

2.autoAdjustmentFiltersWithOptions方法參數說明(字典類型):

(1)CIDetectorImageOrientation提供圖像方向:使Core Image能更精確的定位到臉的位置,對CIRedEyeCorrection和CIFaceBalance濾鏡很有用。
(2)kCIImageAutoAdjustEnhance設為false :只需要消除紅眼,不要其他濾鏡
(3)kCIImageAutoAdjustRedEye設為false :消除紅眼不要,其他濾鏡都要

3.效果圖如下(右側為優化后的):

Swift圖像處理之優化照片

4.代碼如下(所有濾鏡都使用):

import UIKitclass ViewController: UIViewController{  @IBOutlet weak var imageView: UIImageView!  //圖片原圖  lazy var originalImage: UIImage = {    return UIImage(named: "IMG_0473.jpg")  }()!  lazy var context: CIContext = {    return CIContext(options: nil)    }()  override func viewDidLoad() {    super.viewDidLoad()  }  override func didReceiveMemoryWarning() {    super.didReceiveMemoryWarning()  }  //優化圖片  @IBAction func autoAdjustImage(sender: AnyObject) {    var inputImage = CIImage(image: originalImage)    let options:[String : AnyObject] = [CIDetectorImageOrientation:1] //圖片方向    let filters = inputImage!.autoAdjustmentFiltersWithOptions(options)    //遍歷所有濾鏡,依次處理圖像    for filter: CIFilter in filters {      filter.setValue(inputImage, forKey: kCIInputImageKey)      inputImage = filter.outputImage    }    let cgImage = context.createCGImage(inputImage!, fromRect: inputImage!.extent)    self.imageView.image = UIImage(CGImage: cgImage)  }  //還原圖片  @IBAction func resetImage(sender: AnyObject) {     self.imageView.image = originalImage  }}

研究并自己敲一敲或者做成直接用的類是不錯的選擇.下面的地址不是寫死的,加了拍照優化的功能,代碼如下:(但是有一個BUG暫時無法解決,待解決了我再補充,大家自己用起來就知道在哪里了)

import UIKit//從相冊選取或者拍照需要實現UIImagePickerControllerDelegate UINavigationControllerDelegateclass ViewController: UIViewController ,UIImagePickerControllerDelegate,UINavigationControllerDelegate{  @IBOutlet weak var imageView: UIImageView!  var chooseImage: UIImage = UIImage()  //圖片原圖//  lazy var originalImage: UIImage = UIImage(named: "jobZ.png")!//  //  lazy var context: CIContext = CIContext(options: nil)  lazy var context: CIContext = {    return CIContext(options: nil)  }()  override func viewDidLoad() {//    self.imageView.image = UIImage(named: "jobZ.png")  }  //美化圖片  @IBAction func autoAdjustImage(sender: UIButton) {    var inputImage = CIImage(image: self.chooseImage)    let options:[String : AnyObject] = [CIDetectorImageOrientation:1] //圖片方向    let filters = inputImage!.autoAdjustmentFiltersWithOptions(options)    //遍歷所有濾鏡,依次處理圖像    for filter: CIFilter in filters {      filter.setValue(inputImage, forKey: kCIInputImageKey)      inputImage = filter.outputImage    }    let cgImage = context.createCGImage(inputImage!, fromRect: inputImage!.extent)    self.imageView.image = UIImage(CGImage: cgImage)  }  //選取圖片  @IBAction func chooseImage(sender: UIButton) {    if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary){      //初始化圖片控制器      let picker = UIImagePickerController()      //設置代理      picker.delegate = self      //指定圖片控制器類型 source我這里寫的是用拍照,如果想用圖庫后面值改成UIImagePickerControllerSourceType.PhotoLibrary即可      picker.sourceType = UIImagePickerControllerSourceType.Camera      //如果有前置攝像頭則調用前置攝像頭      if UIImagePickerController.isCameraDeviceAvailable(UIImagePickerControllerCameraDevice.Front){        picker.cameraDevice = UIImagePickerControllerCameraDevice.Front      }      //彈出控制器,顯示界面      self.presentViewController(picker, animated: true, completion: {        () -> Void in      })    }else{      print("讀取相冊錯誤")    }  }  //還原圖片  @IBAction func resetImage(sender: UIButton) {    self.imageView.image = self.chooseImage  }  //代理  //選擇圖片成功后代理  func imagePickerController(picker: UIImagePickerController,    didFinishPickingMediaWithInfo info: [String : AnyObject]) {      //查看info對象      print(info)      //獲取選擇的原圖      let image = info[UIImagePickerControllerOriginalImage] as! UIImage      self.imageView.image = image      self.chooseImage = image      //圖片控制器退出      picker.dismissViewControllerAnimated(true, completion: {        () -> Void in      })  }}

此段代碼運行效果如下:

Swift圖像處理之優化照片



注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级淫片播放口| 亚洲色图第一页| 欧美日韩国内自拍| 国产精品h片在线播放| 精品久久久久国产| 91九色国产在线| 亚洲偷欧美偷国内偷| 在线看日韩欧美| 日韩在线中文视频| 中文字幕日韩欧美在线| 97精品国产91久久久久久| 26uuu另类亚洲欧美日本一| 国产精品扒开腿爽爽爽视频| 日韩精品在线免费观看视频| 欧美在线观看一区二区三区| 国产精品人成电影| 在线观看欧美www| 国产精品福利无圣光在线一区| 亚洲天堂第一页| 久久这里只有精品99| 国产精品白嫩初高中害羞小美女| 中日韩美女免费视频网址在线观看| 国产999精品| 日韩成人av在线播放| 91在线直播亚洲| 国产成人久久精品| 欧美电影在线观看网站| 国产在线精品播放| 亚洲无亚洲人成网站77777| 国产在线观看91精品一区| 亚洲欧美日韩在线一区| 国产综合在线看| 久久99热精品这里久久精品| 亚洲国产欧美一区二区三区久久| 色婷婷综合成人| 欧美在线亚洲在线| 亚洲免费影视第一页| 欧美丰满片xxx777| 欧美激情中文字幕乱码免费| 国产成人在线一区二区| 久久国产加勒比精品无码| 日本久久久久久| 这里只有精品丝袜| 91国偷自产一区二区三区的观看方式| 久久精品久久久久电影| 亚洲欧洲一区二区三区在线观看| 国产成人福利网站| 国产成人精品在线视频| 久久精品99久久香蕉国产色戒| 亚洲日韩欧美视频一区| 亚洲成人激情在线| 88国产精品欧美一区二区三区| 91精品国产一区| 中文精品99久久国产香蕉| 欧美自拍视频在线观看| 欧美激情中文字幕乱码免费| 高清一区二区三区四区五区| 欧美亚洲另类激情另类| 成人免费视频a| 91麻豆国产精品| 久久九九亚洲综合| 欧美猛男性生活免费| 欧美日韩中文字幕| 成人h片在线播放免费网站| 欧美自拍大量在线观看| 成人有码视频在线播放| 国产噜噜噜噜久久久久久久久| 亚洲成人av中文字幕| 综合欧美国产视频二区| 亚洲精品日韩欧美| 国产免费观看久久黄| 国产一区二区三区在线观看网站| 国产欧美日韩精品专区| 国产欧美精品在线播放| 国产在线视频一区| 欧美成年人在线观看| 亚洲无av在线中文字幕| 91精品国产免费久久久久久| 国自产精品手机在线观看视频| 亚洲欧美另类国产| 精品久久久免费| 久久精品视频在线| 富二代精品短视频| 美日韩丰满少妇在线观看| 国产一区二区黄| 97在线视频免费看| 国产香蕉精品视频一区二区三区| 美女999久久久精品视频| 欧美高清视频免费观看| 国产精品国产自产拍高清av水多| 色与欲影视天天看综合网| 国产精品第10页| 亚洲图片在线综合| 久久久亚洲网站| 亚洲直播在线一区| 国产精品极品美女粉嫩高清在线| 国产精品视频最多的网站| 久久在线观看视频| 亚洲iv一区二区三区| 亚洲最新av在线| 国产精品自在线| 一区二区三区精品99久久| 国产精品激情自拍| 亚洲成人精品视频| 亚洲国产成人久久综合一区| 久久久成人精品| 亚洲精品电影在线| 亚洲黄色www| 国产精品成熟老女人| 欧美性猛交xxxx乱大交极品| 成人国产在线激情| 欧美激情视频三区| 法国裸体一区二区| 26uuu日韩精品一区二区| 亚洲香蕉在线观看| 性欧美xxxx| 美女扒开尿口让男人操亚洲视频网站| 超碰97人人做人人爱少妇| 久久久综合免费视频| 国产suv精品一区二区| 日韩精品中文字幕有码专区| 日本19禁啪啪免费观看www| 国产一区二区三区18| 国产欧美精品久久久| 国a精品视频大全| 欧美午夜性色大片在线观看| 91免费在线视频| 68精品久久久久久欧美| 97视频免费看| 77777亚洲午夜久久多人| 国产精品视频资源| 高清欧美性猛交xxxx| 在线观看欧美视频| 精品人伦一区二区三区蜜桃网站| 色播久久人人爽人人爽人人片视av| 91大神在线播放精品| 国产精品久久久久久久久久ktv| 亚洲成人av片| 久久亚洲影音av资源网| 91精品国产电影| 欧美大片欧美激情性色a∨久久| 久久av红桃一区二区小说| 亚洲国产一区二区三区四区| 日韩欧美一区视频| 91精品91久久久久久| 亚洲欧美一区二区三区情侣bbw| 日韩在线视频免费观看高清中文| 精品久久久久久中文字幕大豆网| 俺去了亚洲欧美日韩| 久久久久久久爱| 色婷婷av一区二区三区久久| 日韩成人网免费视频| 亚洲国产99精品国自产| 久久久久久亚洲| 91产国在线观看动作片喷水| 亚洲人线精品午夜| 亚洲成av人片在线观看香蕉| 欧美国产日韩一区二区| 亚洲性无码av在线| 中文字幕v亚洲ⅴv天堂| 欧美劲爆第一页| 国产精品久久久久aaaa九色| 久久综合色88| 精品露脸国产偷人在视频|