Swift 在UIImage中查找特定颜色值

Swift 在UIImage中查找特定颜色值,swift,xcode,image,colors,image-recognition,Swift,Xcode,Image,Colors,Image Recognition,我的Xcode项目中有一个UIImageView。我正在试图找到一种方法,可以检测图像中的某些颜色(例如,一些红色阴影)。我似乎找不到任何方法来做这件事。有人知道如何做到这一点吗 我见过不同的方法如何找到照片中的“平均颜色”。我想知道是否有一种方法可以专门“检测”图像中可能存在的某种颜色 例如,在这张图片中,有没有一种方法可以检测出照片中有那种红色。 谢谢你试试这个 扩展UIImage{ func getPixelColor(位置:CGPoint)->UIColor{ let pi

我的Xcode项目中有一个UIImageView。我正在试图找到一种方法,可以检测图像中的某些颜色(例如,一些红色阴影)。我似乎找不到任何方法来做这件事。有人知道如何做到这一点吗

我见过不同的方法如何找到照片中的“平均颜色”。我想知道是否有一种方法可以专门“检测”图像中可能存在的某种颜色

例如,在这张图片中,有没有一种方法可以检测出照片中有那种红色。

谢谢你试试这个

扩展UIImage{ func getPixelColor(位置: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)
  }  
let pixelData=CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
let data:UnsafePointer=CFDataGetBytePtr(像素数据)
让pixelInfo:Int=((Int(self.size.width)*Int(pos.y))+Int(pos.x))*4
设r=CGFloat(数据[pixelInfo])/CGFloat(255.0)
设g=CGFloat(数据[pixelInfo+1])/CGFloat(255.0)
设b=CGFloat(数据[pixelInfo+2])/CGFloat(255.0)
设a=CGFloat(数据[pixelInfo+3])/CGFloat(255.0)
返回UIColor(红色:r、绿色:g、蓝色:b、alpha:a)
}  

}

你真的没有提供足够的细节。例如,您尝试过哪些代码?此外,您具体需要什么?你是想“刮”一张图片,得到“平均”颜色吗?还是在某个CGRect上?或者我应该问“什么是红色”?我(还)不认为有理由将其标记为“太模糊”,但是@Pickle2113,你能看到你的问题问得有多差吗?你需要检查图像中的每个像素,并将其与你正在寻找的颜色进行比较。使用UIImage并没有一个简单的方法可以做到这一点,但在这里尝试一下,这样做至少更有意义一点吗?如果不告诉我,我会再次尝试添加更多信息。很抱歉我绝对是新来的,我只是想寻求一些帮助。谢谢。我试试看。