码迷,mamicode.com
首页 > 其他好文 > 详细

[图像处理]_对数变换

时间:2015-05-07 16:49:58      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:图像处理


[图像处理]_对数变换  算法实现

对数变换可实现图像的水平平移、竖直平移、对称变换等操作

也可实现图像灰度的扩展和压缩功能。

实现代码如下:

 

</pre><pre name="code" class="cpp">int LogTranslation(Mat srcImg, Mat dstImg, float a, float b, float c)
{
	Mat logTable(1,256,CV_8U);
	double temp;
	for ( int i = 0; i < 256; i++ )
	{
		temp = log((double)i+1)/b + a;  //对数变换  g(x,y) = ln(f(x,y)+1)/(b*ln(c)) + a;
		
		if (temp < 0.0)
		{
			temp = 0.0;
		}
		else if (temp > 255.0)
		{
			temp = 255.0;
		}


		logTable.data[i] = int(temp + 0.5); //四舍五入
	}
	LUT(srcImg,logTable,dstImg);
	imshow("Log", dstImg);
	waitKey(0);
	return 1;
}


[图像处理]_对数变换

标签:图像处理

原文地址:http://blog.csdn.net/xiao_lxl/article/details/45560843

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!