2017-02-23 20 views
0

私のXcodeプロジェクトにはUIImageViewがあります。私は画像の中でCERTAINの色(たとえば赤の色合い)を検出する方法を見つけようとしています。私はこれを行う方法を見つけることができないようです。誰でもこれがどのように達成できるか知っていますか?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) 
    } 

}

関連する問題