Skip to content

Commit 23754c6

Browse files
committed
Add PS图像素描算法.cpp
1 parent 5cb214e commit 23754c6

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Mat Sketch(Mat src) {
2+
int row = src.rows;
3+
int col = src.cols;
4+
Mat dst(row, col, CV_8UC1);
5+
Mat gray(row, col, CV_8UC1);
6+
cvtColor(src, dst, COLOR_BGR2GRAY);
7+
gray = dst.clone();
8+
for (int i = 0; i < row; i++) {
9+
for (int j = 0; j < col; j++) {
10+
dst.at<uchar>(i, j) = 255 - dst.at<uchar>(i, j);
11+
}
12+
}
13+
GaussianBlur(dst, dst, Size(3, 3), 1.0);
14+
for (int i = 0; i < row; i++) {
15+
for (int j = 0; j < col; j++) {
16+
double b = double(dst.at<uchar>(i, j));
17+
double a = double(gray.at<uchar>(i, j));
18+
int temp = (int)(a + a*b / (256.0 - b));
19+
if (temp > 255)
20+
temp = 255;
21+
dst.at<uchar>(i, j) = temp;
22+
}
23+
}
24+
return dst;
25+
}

PhotoShop Algorithm/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@
3131
- PS亮度调节(曝光不足或过量).cpp 实现了PS中的亮度调整,调整曝光不足和过量。
3232
- PS对比度增强算法.cpp 实现了PS中的对比度增强,根据用户指定的一个对比度,分别与原始R、G、B色彩分量进行一定比例的缩放,从而拉开原色色彩亮度级别的分布,达到对比度增强的作用。
3333
- PS色彩平衡(偏色校正).cpp 根据用户指定的R、G、B三个色彩的调整分量,分别附加到对应的色彩分量上,从而改变原始图像的色彩。
34+
- PS图像素描算法.cpp 原理就是图像去色后转置,然后接高斯滤波,最后对去色的图和模糊的图进行图层混合。
3435

0 commit comments

Comments
 (0)