我想从Image中检测颜色,我在AVFoundation的实时相机类的帮助下逐帧获取图像。现在我想从图像中检测出红色并在获得红色后进行操作。我读了Post,但找不到任何健康的解决方案。这可能不使用外部库吗?任何教程或帮助材料对我都有帮助。提前谢谢。
答案 0 :(得分: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];