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

 

      其实这篇文章和昨天那篇文章差不多,使用自己写的方法替换了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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我头像是啥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值