![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
滤镜
石惊
从事图像处理机器学习模式识别算法的研究以及优化移动平台算法的移植SMID指令优化等
展开
-
滤镜之像素化Pixelate
像素化可以认为是马赛克,是比较常见的滤镜了,也是一个比较简单的滤镜。在很多的移动图像处理软件中都有这个功能,可以实现交互指定需要马赛克的地方。下图是实现的一些效果: 实现原理: 设定马赛克块的大小,统计每个块中所有像素的平均值,以平均值代替每个块中的像素值即是马赛克的效果。如8x8的块,将64个像素加起来求均值,将均值赋值给这个64个像素(每个块中的像素值都是一样的)。原创 2013-10-15 19:33:07 · 2104 阅读 · 0 评论 -
滤镜之毛玻璃FrostedGlass
首先看这两张效果图: 毛玻璃看上去是一些离散的点分布,而这些点是周围像素点的反映。所以需要用到随机值。 算法原理:1. 统计像素周围区域内的R、G、B的直方图,直方图横坐标是每个像素的灰度值,统计以及每个灰度值的强度2. 从直方图中随机选取一个灰度强度下的R、G、B的均值就是目标像素结果 该算法存在一个参数:1.原创 2013-10-16 11:26:48 · 2086 阅读 · 0 评论 -
滤镜之油画Oil Painting
首先看效果图: 油画我的理解是色彩比较重,而且会有一片一片区域的同样色彩,没有什么细节,灰阶降低,只表现为一些特定的色彩。算法上的原理如下:1. 统计每个像素领域半径中出现的R,G,B的直方图,以及灰度的直方图,该直方图的bin的大小是设定好的,由此可以统计出落在某个bin上的数量2. 统计直方图中出现次数最多的R、G、B的均值,就是最要这个像素的结果。原创 2013-10-16 10:58:43 · 4658 阅读 · 0 评论 -
滤镜之瓷砖TileReflect
首先看这两张效果图:这个滤镜在ImageStone这个软件中有完整代码,现在改写如下:#define PI 3.1415926535897932384626433832795struct Point{ float x; float y;};void TileRefelctRGB(unsigned char* pInput,unsigned原创 2013-10-16 14:35:36 · 1040 阅读 · 0 评论 -
滤镜之颜色特效
一些颜色特效也在滤镜中比较常见,而且如果在视频拍摄的时候使用则一般会比较有趣,这些滤镜一般不改变像素的位置,而只是在像素的颜色上做文章,这里参考了几个颜色滤镜如: 碧绿(Aqua)、棕褐色(Sepia)、冰冻(Ice)、熔铸(Molten)、暗调(Darkness)、对调(Subtense)、怪调(Whim)等。这些都比较简单,对RGB的一些简单操作就能够实现,无非可以理解为RGB的映射。原创 2013-10-17 09:14:29 · 5402 阅读 · 4 评论 -
滤镜之高斯噪声GaussianNoise
首先看这两张效果图: 图像加上高斯噪声非常简单了,每个像素点叠加上高斯噪声即可。同理也可以叠加上其他的噪声。具体可以参考GIMP代码 算法原理:1. 首先随机产生高斯噪声,可以是RGB同一个随机噪声,也可以是三通道不同的随机噪声。2. 将随机噪声的值叠加到像素中,并判断是否越界。 该算法存在一个参数:1. 噪声程度:越大则原创 2013-10-16 13:42:35 · 4537 阅读 · 0 评论 -
滤镜之浮雕Emboss
首先看效果图: 这个算法是一个像素和它周围像素的差值加上一个灰度常数产生浮雕效果的图像。一般是和它左上方像素的差值为浮雕,是一种凸的效果,和右下角像素的差为雕刻,是一种凸的效果。代码中通过cos角度控制梯度方向。 这个滤镜在ImageStone这个软件中有完整代码,现在改写如下:#define PI 3.1415926535897932384626433832795原创 2013-10-16 21:01:38 · 2240 阅读 · 1 评论 -
滤镜之变形Distort特效
一些扭曲Distort特效也在滤镜中比较常见,而且如果在视频拍摄的时候使用则一般会比较有趣,如在Mac电脑上的PhotoBooth软件拍摄就有很多变形的Effect。这里介绍几种特效包括有:挤压(pinch)、球面特效(Spherize)、漩涡(Swirl)、波浪(Wave)等,这几个特效在PhotoSprite软件中都有代码。其他的一些变形也可以根据公式写出来,写出自己独特的一些变形特效出来。原创 2013-10-17 20:54:34 · 2505 阅读 · 0 评论 -
滤镜之纹理Texture特效
很多图像或者视频上叠加上一些特定的纹理,那么这些纹理是怎么产生的呢?这里牵涉到一个叫做柏林噪声函数的概念,具体的可以参考:http://wenku.baidu.com/view/a6280c2bbd64783e09122b89.html 如这个纹理的产生就是通过柏林噪声产生的: 柏林噪声函数包括噪声参数函数和插值函数。噪声波有幅度和频率的概念,将这些不同原创 2013-10-17 22:14:42 · 2326 阅读 · 1 评论