2017-02-23 3 views
0

Xcode 프로젝트에 UIImageView가 있습니다. 이미지에서 특정 색상 (예 : 일부 음영)을 감지 할 수있는 방법을 찾으려고합니다. 나는 이것을 할 어떤 방법을 찾을 수없는 것 같습니다. 아무도 이것이 어떻게 달성 될 수 있는지 알고 있습니까?UIImage에서 특정 색상 값 찾기

사진에서 "평균 색상"을 찾는 방법을 여러 가지로 보았습니다. 이미지에있을 수있는 특정 색을 구체적으로 "감지"하는 방법이 있는지 궁금합니다.

예를 들어이 이미지에는 사진에 빨간색의 색상이 있음을 감지 할 수있는 방법이 있습니다. Blue and Red Rectangles

감사

+0

당신은 정말 충분히 제공하지 않은 세부 묘사. 예를 들어 어떤 코드를 사용해 보셨습니까? 더 구체적으로 당신이 필요로하는 것은 무엇입니까? 이미지를 "긁어서"평균 색을 얻으려고합니까? 또는 특정 CGRect 이상? 아니면 "무엇이 빨갛다"는 질문을해야합니까? 나는 (아직) 이것을 "너무 모호하다"라고 표시하는 이유는 모르지만, @ Pickle2113, ** 당신은 ** 당신이 당신의 질문을 얼마나 가난하게 보았는가? – dfd

+0

이미지의 각 픽셀을 살펴보고 찾고있는 색상과 비교해야합니다. UIImage로이 작업을 수행하는 쉬운 방법은 없지만 여기에서 시도하십시오. http://stackoverflow.com/questions/40158320/swift-3-get-color-of-pixel-in-uiimage-better-uiimageview –

+0

적어도 조금 더 말이야? 말하지 않으면 더 많은 정보를 다시 추가하려고 노력할 것입니다. 죄송합니다. 나는 여기에서 확실히 새로운데, 나는 도움을 찾고있는 중이다. – Pickle2113

답변

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) 
    } 

은}