美文网首页计算机视觉AI智能识别
iOS开发:自定义实现图片变灰

iOS开发:自定义实现图片变灰

作者: 787ea54e5cc5 | 来源:发表于2017-06-07 22:40 被阅读4次

          其实这篇文章和昨天那篇文章差不多,使用自己写的方法替换了openCV的API。其实都一样,介绍了主要方法的实现(替换UIImageToMat(_imageView.image, mat_img_src);)。

    图1、所替换的方法

    一、创建图片工具类,导入openCV头文件

    openCV的头文件一定要放在所有的Apple Header之前,详情前一篇有截图。

    图2、类与头文件

    二:创建颜色空间

    第一步:创建一块颜色空间,这里创建的是彩色空间

    图3、创建颜色空间

    三、根据UIImage对象大小去创建Mat对象

    图4、创建openCV图片

    四、创建图片上下文

           这一步需要创建一个图形上下文,使用的是Core graphic框架中的:CG_EXTERNCGContextRef__nullableCGBitmapContextCreate(void*__nullabledata,

    size_twidth,size_theight,size_tbitsPerComponent,size_tbytesPerRow,

    CGColorSpaceRefcg_nullablespace,uint32_tbitmapInfo),目的是保存图片信息。

            这个接口的参数比较多,其中。

    参数一:数据源

    参数二:图片宽

    参数三:图片高

    参数四:每一个像素占用多大的内存,一个像素点由RGB组成(R:8位G:8位B:8位),即三个字节

    参数五:每一行所占用的内存m.step[0]第一行多大内存

    参数六:颜色空间

    参数七:位图信息 这里使用kCGImageAlphaNoneSkipLast表示没有透明度分量

    kCGBitmapByteOrderDefault默认排版

    图5、创建的图形上下文

    五、绘制

    图6、绘制图片 图7、参数

    六、释放上下文和颜色空间所占用的内存

    图8、释放内存

    demo地址:链接: https://pan.baidu.com/s/1c2IPAGK 密码: wmyf

    相关文章

      网友评论

        本文标题:iOS开发:自定义实现图片变灰

        本文链接:https://www.haomeiwen.com/subject/kwbafxtx.html