在UIImage中查找特定颜色值

时间:2017-02-23 04:38:23

标签: swift xcode image colors image-recognition

我的Xcode项目中有一个UIImageView。我试图找到一种方法,我可以检测图像中的某些颜色(例如一些红色阴影)。我似乎无法找到任何方法来做到这一点。有谁知道如何实现这一目标?

我已经看到了不同的方法如何找到平均颜色"在照片里。我想知道是否有办法专门"检测"可能在图像中的某种颜色。

例如,在这张图片中,有一种方法可以检测到照片中有红色。 Blue and Red Rectangles

由于

1 个答案:

答案 0 :(得分:0)

试试这个

扩展名UIImage {       func getPixelColor(pos:CGPoint) - > UIColor {

      let pixelData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
      let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData)

      let pixelInfo: Int = ((Int(self.size.width) * Int(pos.y)) + Int(pos.x)) * 4

      let r = CGFloat(data[pixelInfo]) / CGFloat(255.0)
      let g = CGFloat(data[pixelInfo+1]) / CGFloat(255.0)
      let b = CGFloat(data[pixelInfo+2]) / CGFloat(255.0)
      let a = CGFloat(data[pixelInfo+3]) / CGFloat(255.0)

      return UIColor(red: r, green: g, blue: b, alpha: a)
  }  

}

相关问题