聊下图片滤镜,手机上的,lookup table(颜色查找表

Posted Anita-ff 的图像处理之旅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊下图片滤镜,手机上的,lookup table(颜色查找表相关的知识,希望对你有一定的参考价值。

今天这里要介绍的是lookup table(颜色查找表),简而言之就是通过将每一个原始的颜色进行转换之后成为一个新的颜色。

打一个比方,比如原始颜色是红色(r:255,g:0,b:0),进行转换后变为绿色(r:0,g:255,b:0),以后所有是红色的地方都会被自动转换为绿色。

而颜色查找表就是将所有的颜色进行一次(矩阵)转换,而很多的滤镜功能就是提供了这么一个转换的矩阵,在原始色彩的基础上进行颜色的转换。

引:作者:謝灰灰在找胡蘿蔔
链接:https://www.jianshu.com/p/b470a5b5a560
 
 
技术分享图片
Original Lookup Table

然而ios自带的图像处理API中并没有提供颜色查找表相关的内容。即使如此,善解人意的GPUImage的大大们给我们提供了一个相关的接口,今天就来简单的介绍一下用法。


1 图片添加滤镜效果

 

资源:一张图片(随意),photoshop

a)在photoshop中载入原始图片

 
技术分享图片
原始示例图片

 

b)调整photoshop中的调整面板,对图像进行调整,并达到满意的效果。

 
技术分享图片
在该调整面板对图像进行调整

 

 
技术分享图片
调整后的图像

 

c)在达到满意的效果之后,对original lookup table(原始颜色查找表)进行一次相同的调整操作

 
技术分享图片
调整前

 

 
技术分享图片
调整后

 

d)将调整后得到的lookup table另存为NewLookupTable.png

 

2 代码中引用lookup table

 

GPUImage是一个相当出名的第三方图像处理库,这里就不对这个库进行介绍了。

GPUImage中有一个专门针对lookup table进行处理的滤镜函数GPUImageLookupFilter,使用这个函数就可以直接对图片进行滤镜添加操作了。

 

//originalImg是你希望添加滤镜的原始图片

- (UIImage *)applyFIlter:(UIImage *)originalImg {

UIImage *inputImage =originalImg;

UIImage *outputImage = nil;

GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:inputImage];

//添加滤镜

GPUImageLookupFilter *lookUpFilter = [[GPUImageLookupFilter alloc] init];

//导入之前保存的NewLookupTable.png文件

GPUImagePicture *lookupImg = [[GPUImagePicturealloc] initWithImage:[UIImageimageNamed: @“NewLookupTable.png”]];

[lookupImg addTarget:lookUpFilteratTextureLocation:1];

[stillImageSource addTarget:lookUpFilteratTextureLocation:0];

[lookUpFilter useNextFrameForImageCapture];

if([lookupImg processImageWithCompletionHandler:nil] && [stillImageSource processImageWithCompletionHandler:nil]) {

outputImage= [lookUpFilterimageFromCurrentFramebuffer];

}

return outputImage;

}

就这样滤镜就可以添加成功了,很简单把,哈哈。

对了哈,GPUImage这个库里面会有一张lookup table的图片的,在GPUImageLookupFilter相关的文件夹内,大家可以找一找。








以上是关于聊下图片滤镜,手机上的,lookup table(颜色查找表的主要内容,如果未能解决你的问题,请参考以下文章

网页制作中,我使用滤镜,把背景颜色黑色半透明了,但它也把我黑色背景上的字体也给半透明了,求高手指...

Opencv项目实战:10 面部特征提取及添加滤镜

如何用华为图像服务快速实现滤镜功能

GPUImage原理

GPUImage原理

四宫格照片用啥软件做?