天天瞎忙活,QQ:705719110,欢迎来撩!

照片的紫边处理

iOS开发 随风 285℃ 0评论

我们的项目是智能相机,而现在的数码相机都会有一个通病,那就是紫边问题,在一些明暗交界的地方,会出现蓝紫色的线条,这样很影响照片的色彩,所以要解决掉这些颜色,我在查了很多文档之后在iOS端做了一定的处理,能够解决掉一部分紫边。

解决思路

1.读取图片像素信息,根据亮度以180为界限,高的在创建的新图中写入一个白点,低的写入一个黑点,得要一张阈值图;
2.在阈值图上使用边缘查找算法,输出到新的图上,得到一张边缘图,这就是原图的明暗交界边缘图;
3.以边缘图上每个白点 r==255 为圆心,以R为半径画实心圆,白色为填充色,就得到了一个宽度为2R的白线

4.以3中得到的图为模板图,循环读取,若 r == 255,则该点为白点,读取原图相对应位置像素点的RGB色值,换算成HSL(色调、饱和度、亮度),如果H(色调)处于[140,230](这个是0~255的范围,我们计算出来的范围是0~360,所以需要转换一下)范围内,那么令该点的R=G=B=(R+G+B)/3,使其亮度不变,饱和度降低,达到去紫边的目的。

代码实现

我这里用到了GPUImage里面的东西,可以自行取舍

这个方法处理的还算可以,就是稍微费一点点时间,看到的有好方法可以告诉我~

转载请注明:怼码人生 » 照片的紫边处理

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址