高反差保留滤镜学习OpenCV:滤镜系列(11)——高反差保留

这几周笔者几篇文章介绍了改高反差保留滤镜的文章. 关联文章的地址

    高反差保留就是高通滤波

    r=(pix[x,y]-avg(R))/128

    pix[x,y]*r+128*(1-r)

#include <math.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>

using namespace cv;
using namespace std;

int R=5;

int main()
{
	Mat src = imread("D:/10.jpg",1);
	int width=src.cols;
	int heigh=src.rows;
	Mat img;
	src.copyTo(img);
	Mat avg;
	//GaussianBlur(img,avg,Size(R,R),0.0);
	blur(img,avg,Size(R,R));
	Mat dst(img.size(),CV_8UC3);
	float tmp;
	for (int y=0;y<heigh;y++)
	{
		uchar* imgP=img.ptr<uchar>(y);
		uchar* avgP=avg.ptr<uchar>(y);
		uchar* dstP=dst.ptr<uchar>(y);
		for (int x=0;x<width;x++)
		{
			float r0 = abs((float)imgP[3*x]-(float)avgP[3*x])/128;  
			tmp = abs( ((float)imgP[3*x]  )*r0 + 128*(1-r0) );
			tmp=tmp>255?255:tmp;
			tmp=tmp<0?0:tmp;
			dstP[3*x]=(uchar)(tmp);

			float r1 = abs((float)imgP[3*x+1]-(float)avgP[3*x+1])/128;
			tmp = (uchar)abs( ((float)imgP[3*x+1])*r1 + 128*(1-r1) );
			tmp=tmp>255?255:tmp;
			tmp=tmp<0?0:tmp;
			dstP[3*x+1]=(uchar)(tmp);
			
			float r2 = abs((float)imgP[3*x+2]-(float)avgP[3*x+2])/128;
			tmp = (uchar)abs( ((float)imgP[3*x+2])*r2 + 128*(1-r2) );
			tmp=tmp>255?255:tmp;
			tmp=tmp<0?0:tmp;
			dstP[3*x+2]=(uchar)(tmp);
		}
	}
	imshow("high",dst);
	
	//高通滤波测试

	Mat kern = (Mat_<char>(3,3) <<  -1, -1,  -1,
					 			    -1,  5, -1,
									-1, -1,  -1);
	Mat dstF;
	filter2D(img,dstF,img.depth(),kern);
	imshow("kernel",dstF);

	waitKey();
	imwrite("D:/高反差保留.jpg",dst);
	imwrite("D:/高通滤波.jpg",dstF);
}
    每日一道理
“一年之计在于春”,十几岁的年纪,正是人生的春天,别辜负了岁月老人的厚爱与恩赐。行动起来,播种梦想吧!

    

    原图:

    高反差保留和滤镜

    

    高反差保留:

    高反差保留和滤镜

    

    高通滤波器:

    高反差保留和滤镜

    

文章结束给大家分享下程序员的一些笑话语录: 刹车失灵
有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉 上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去, 眼看前面就是一个悬崖峭壁,但是很幸运的是在这个悬崖的前面有一些小树 让他们的汽车停了下来, 而没有掉下山去。 三个惊魂未定地从车里爬了出来。
物理学家说, “我觉得我们应该建立一个模型来模拟在下山过程中刹车片在高 温情况下失灵的情形”。
工程师说, “我在车的后备厢来有个扳手, 要不我们把车拆开看看到底是什么 原因”。
程序员说,“为什么我们不找个相同的车再来一次以重现这个问题呢?”

--------------------------------- 原创文章 By
高反差保留和滤镜
---------------------------------

posted @ 2013-06-24 20:52  坚固66  阅读(1418)  评论(0编辑  收藏  举报