1

画像から色を検出したいのですが、ライブカメラ用の AVFoundation のクラスを使用して、フレームごとに画像を取得しています。画像から赤色を検出し、赤色を取得した後に操作を行いたいと思います。この投稿を読みましたが、健全な解決策が見つかりませんでした。外部ライブラリを使用しない場合、これは可能ですか? チュートリアルや補助資料は私にとって役に立ちます。前もって感謝します。

4

1 に答える 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 に答える