File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change
1
+ Mat Equalizer (Mat src) {
2
+ int row = src.rows ;
3
+ int col = src.cols ;
4
+ int Count[256 ] = { 0 };
5
+ float p[256 ] = { 0 };
6
+ float fSum [256 ] = { 0 };
7
+ int level[256 ] = { 0 };
8
+ int Total = row * col * 3 ;
9
+ for (int i = 0 ; i < row; i++) {
10
+ for (int j = 0 ; j < col; j++) {
11
+ for (int k = 0 ; k < 3 ; k++) {
12
+ Count[src.at <Vec3b>(i, j)[k]]++;
13
+ }
14
+ }
15
+ }
16
+ for (int i = 0 ; i < 256 ; i++) {
17
+ p[i] = 1.0 * Count[i] / (1.0 * Total);
18
+ if (i == 0 )
19
+ fSum [0 ] = p[0 ];
20
+ else
21
+ fSum [i] = fSum [i - 1 ] + p[i];
22
+ level[i] = saturate_cast<uchar>(255 * fSum [i] + 0.5 );
23
+ }
24
+ Mat dst (row, col, CV_8UC3);
25
+ for (int i = 0 ; i < row; i++) {
26
+ for (int j = 0 ; j < col; j++) {
27
+ for (int k = 0 ; k < 3 ; k++) {
28
+ dst.at <Vec3b>(i, j)[k] = level[src.at <Vec3b>(i, j)[k]];
29
+ }
30
+ }
31
+ }
32
+ return dst;
33
+ }
Original file line number Diff line number Diff line change 26
26
- PSMinMax运算算法.cpp 实现了MinMax运算,对两张输入大小相同的图片进行逐像素运算合成目标图像。
27
27
- PS算术乘法和除法.cpp 实现了对输入的两张图像进行乘法或除法的运算合成新图像。
28
28
- PS算术加法和减法.cpp 实现了对输入的两张图像进行加法或减法的运算合成新图像。
29
+ - PS色彩均衡化算法.cpp 实现了PS色彩均衡化算法,原理请看:https://blog.csdn.net/just_sort/article/details/94430129
29
30
You can’t perform that action at this time.
0 commit comments