用OpenCV实现Photoshop算法(九): 高反差保留
2016-09-11 21:21
1341 查看
系列文章:
用OpenCV实现Photoshop算法(一):
图像旋转
用OpenCV实现Photoshop算法(二):
图像剪切
用OpenCV实现Photoshop算法(三):
曲线调整
用OpenCV实现Photoshop算法(四): 色阶调整
用OpenCV实现Photoshop算法(五):
亮度对比度调整
用OpenCV实现Photoshop算法(六):
变为黑白图像
用OpenCV实现Photoshop算法(七):
调整色相饱和度
用OpenCV实现Photoshop算法(八):
可选颜色
用OpenCV实现Photoshop算法(九):
高反差保留
九、高反差保留(High
Pass)
高反差保留是一个Photoshop的滤镜功能。常见的用法是用于锐化,对图像进行1个像素的高反差保留,再将得到的新图像以强光混合方式叠加在原图上,可得到非常好的锐化效果。如果需要深度锐化,反复作这个动作。
(一)原理
(二)算法:
首先对原图进行高斯模糊, 然后将新图与原图的每一个点的数值相减,再加127,则得到高反差保留图。
即: 高反差保留 = 高斯模糊图-原图 +127
(三)OpenCV实现
1, 我用OpenCV 编写了一个 Filter 滤镜类。在源文件
Filter.hpp, Filter.cpp中
2, Filter类中有一个方法 HighPass(), 使用它即可。 (注意:是 static静态方法)
3,源码及例程下载在这: 高反差保留源码
(四)例程
运行效果:
高反差保留得到的图是一个近似于灰度的图片。
用OpenCV实现Photoshop算法(一):
图像旋转
用OpenCV实现Photoshop算法(二):
图像剪切
用OpenCV实现Photoshop算法(三):
曲线调整
用OpenCV实现Photoshop算法(四): 色阶调整
用OpenCV实现Photoshop算法(五):
亮度对比度调整
用OpenCV实现Photoshop算法(六):
变为黑白图像
用OpenCV实现Photoshop算法(七):
调整色相饱和度
用OpenCV实现Photoshop算法(八):
可选颜色
用OpenCV实现Photoshop算法(九):
高反差保留
九、高反差保留(High
Pass)
高反差保留是一个Photoshop的滤镜功能。常见的用法是用于锐化,对图像进行1个像素的高反差保留,再将得到的新图像以强光混合方式叠加在原图上,可得到非常好的锐化效果。如果需要深度锐化,反复作这个动作。
(一)原理
请看这一篇:PS理论:高斯模糊与高反差保留
(二)算法:首先对原图进行高斯模糊, 然后将新图与原图的每一个点的数值相减,再加127,则得到高反差保留图。
即: 高反差保留 = 高斯模糊图-原图 +127
(三)OpenCV实现
1, 我用OpenCV 编写了一个 Filter 滤镜类。在源文件
Filter.hpp, Filter.cpp中
2, Filter类中有一个方法 HighPass(), 使用它即可。 (注意:是 static静态方法)
3,源码及例程下载在这: 高反差保留源码
(四)例程
#include <iostream> #include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "Filter.hpp" using namespace std; using namespace cv; static Mat src; static Mat dst; static int radius = 10; static void callbackAdjust(int , void *) { Filter::HighPass(src, dst, radius / 10.0 ); imshow("photo", dst); } int main() { src = imread("building.jpg"); if ( !src.data ) { cout << "error read image" << endl; return -1; } namedWindow("photo"); createTrackbar("radius", "photo", &radius, 100, callbackAdjust); callbackAdjust(0, 0); waitKey(); return 0; }
运行效果:
高反差保留得到的图是一个近似于灰度的图片。
相关文章推荐
- 用OpenCV实现Photoshop算法(一): 图像旋转
- 用OpenCV实现Photoshop算法(五): 亮度对比度调整
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法。
- 使用OPENCV简单实现具有肤质保留功能的磨皮增白算法
- 用OpenCV实现Photoshop算法(三): 曲线调整
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法。
- 用OpenCV实现Photoshop算法(七): 调整色相饱和度
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法
- 用OpenCV实现Photoshop算法(四): 色阶调整
- 用OpenCV实现Photoshop算法(十): 美白磨皮(未完)
- Photoshop中的“磁性套索”背后算法的OpenCV实现
- 用OpenCV实现Photoshop算法(八): 可选颜色
- 用OpenCV实现Photoshop算法(六): 变为黑白图像
- 用OpenCV实现Photoshop算法(二): 图像剪切
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法。
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法。
- 用OpenCV实现Photoshop算法(三): 曲线调整
- OpenCV下车牌定位算法实现代码
- CamShift算法----OpenCV实现3 CamShift算法
- OpenCV编程案例:最大熵阈值分割算法实现