画像から色を検出したいのですが、ライブカメラ用の AVFoundation のクラスを使用して、フレームごとに画像を取得しています。画像から赤色を検出し、赤色を取得した後に操作を行いたいと思います。この投稿を読みましたが、健全な解決策が見つかりませんでした。外部ライブラリを使用しない場合、これは可能ですか? チュートリアルや補助資料は私にとって役に立ちます。前もって感謝します。
質問する
455 次
1 に答える
0
このコードを試してください。画面でタッチ ムーブとタッチ ビギンが発生したときに、このメソッドを呼び出します。
-(void) getPixelColorAtLocation:(CGPoint)point {
unsigned char pixel[4] = {0};
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, kCGImageAlphaPremultipliedLast);
CGContextTranslateCTM(context, -point.x, -point.y);
[self.layer renderInContext:context];
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
if((pixel[0]=255) && (pixel[1] = 0) && (pixel[2] = 0)){
//if pixel are red then this condition become true
}
画像を取得するには、次のメソッドを使用します。
- (UIImage *)drawLineFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint image:(UIImage *)image
{
}
次のように呼び出すことができます。
self.image = [self drawLineFromPoint:previousPoint toPoint:point image:self.image];
于 2013-03-15T11:04:12.013 に答える