谈谈iOS下图像颜色检测、颜色匹配的解决方法

本文探讨了在iOS平台上进行图像颜色检测和颜色匹配的方法,主要介绍了通过像素点颜色取样的技术,详细解析了相关代码实现,为开发者提供了一种有效的解决方案。
摘要由CSDN通过智能技术生成
最近写一个应用,需要对图像中某一个像素点的颜色进行取样,并检测是否与特定颜色一致或相近,解决的办法如下:

一、像素点颜色取样(代码参考国外一篇文章,在最后列出)

+ (UIColor*) getPixelColorAtLocation:(CGPoint)point inImage:(UIImage *)image {

    UIColor* color = nil;
    CGImageRef inImage = image.CGImage;
    CGContextRef cgctx = [DetectColour createARGBBitmapContextFromImage:
    inImage];

    if (cgctx == NULL) { return nil; /* error */ }
    size_t w = CGImageGetWidth(inImage);
    size_t h = CGImageGetHeight(inImage);
    CGRect rect = {
  {0,0},{w,h}};

    CGContextDrawImage(cgctx, rect, inImage);

    unsigned char* data = CGBitmapContextGetData (cgctx);

    if (data != NULL) {
       int offset = 4*((w*round(point.y))+round(point.x));
       int alpha =  data[offset];
       int red = data[offset+1];
       int green = data[offset+2];
       int blue = data[offs
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值