转自:图像处理:曝光、霓虹(照亮边缘)效果
Posted on 收藏1.效果图:
(曝光效果) (霓虹效果)
2.实现原理:
曝光效果:逆转值小于128的R、G、B分量值,产生正片和负片混合的效果。
霓虹效果:用来描绘图像的轮廓,勾画颜色变化的边缘,加强其过度效果,产生轮廓发光的效果。
主要是根据当前像素与其右方和下方像素的梯度运算,然后将结果值作为当前像素值,
即将原图像当前像素的R、G、B分量与其右方和下方像素做梯度运算(差的平方和的平方根),
然后将梯度值作为处理后像素的R、G、B的三个分量。
[ result = Math.Sqrt( (src-right)*(src-right) + (src-bottom)*(src-bottom) ) ]
3.实现代码:
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
2
4
5
6
7
8
9
10
11
12
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
4.说明:
曝光效果采用的是LockBits方法,霓虹效果采用的是GetPixel、SetPixel方法。
可比较这两种方法在处理图像上的效率问题。
1.效果图:
(曝光效果) (霓虹效果)
2.实现原理:
曝光效果:逆转值小于128的R、G、B分量值,产生正片和负片混合的效果。
霓虹效果:用来描绘图像的轮廓,勾画颜色变化的边缘,加强其过度效果,产生轮廓发光的效果。
主要是根据当前像素与其右方和下方像素的梯度运算,然后将结果值作为当前像素值,
即将原图像当前像素的R、G、B分量与其右方和下方像素做梯度运算(差的平方和的平方根),
然后将梯度值作为处理后像素的R、G、B的三个分量。
[ result = Math.Sqrt( (src-right)*(src-right) + (src-bottom)*(src-bottom) ) ]
3.实现代码:
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
2
4
5
6
7
8
9
10
11
12
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
4.说明:
曝光效果采用的是LockBits方法,霓虹效果采用的是GetPixel、SetPixel方法。
可比较这两种方法在处理图像上的效率问题。