[图像处理]_对数变换


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

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

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

实现代码如下:

</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;
}
时间: 2024-11-07 11:48:20

[图像处理]_对数变换的相关文章

『Python』skimage图像处理_旋转图像

一段简短的实现图像旋转的代码,使用了skimage库,据说和PIL相比,skimage对numpy等科学计算库的支持更好,这里是为了完成师兄给的帮他修改程序的任务,如果以后有需求的话可能会对python图像处理库做个梳理或者根据自己的需求做个筛选后深入了解一下. 1 from skimage import io,transform 2 import matplotlib.pyplot as plt 3 4 5 '''图片旋转''' 6 7 img2 = io.imread('./bg-body-

数字图像处理_图像二值化_jzcjedu

皮卡丘:“师兄! ” 师兄:“干嘛…?” 皮卡丘:“你帮我看看这个,这是我打车的发票,看起来有点不太清晰,老板说不给我报销…” 师兄:“你仿佛在特意逗我笑,这不是很清楚嘛!!! ” 皮卡丘:“我老板有强迫症,他说这个扫描之后不清楚,让我弄清晰点再给他,不然就不给我钱.师兄,你一定要帮我呀,不然以后都不能打车了.” 师兄:“不急,我先看看,我记得当初张康老师教过我对于这种信噪比很高的图像你要提取出想要的信息的话用二值化处理又简单又方便.“ 皮卡丘:“这样啊,快弄给我看看.“ 稍等,我开一下MATL

MATLAB图像处理_同态滤波

同态滤波: 利用广义叠加原理对同态系统进行滤波. 同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量.使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真. 同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物.由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份.通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴

MATLAB图像处理_感悟和总结

两个星期的图像处理研究学习差不多告一段落: 真的应了一句话,只有你接触某个领域,才真正可以体会到某个领域的魅力所在: 到目前为止,学习的一些图像处理知识,都是最基础的,其实和机器学习.计算机视觉.人工智能等方面比起来,只是小菜一碟:感觉图像处理方面的知识博大精深,确实如此,这是一项研究生花两年的时间都不一定能掌握好的东西.只能说和嵌入式方向一样,都是水比较深.搞过这个之后,才深知自己的数学知识没学到位,后悔大学数学没有好好学,现在又有重新学数学的念头了,甚至有考个研究生的冲动了... 是不是很蛋

数字图像处理_图像基本运算

图像基本运算 1点运算 线性点运算是指输入图像的灰度级与输出图像呈线性关系.s=ar+b  (r为输入灰度值,s为相应点的输出灰度值).  当a=1,b=0时,新图像与原图像相同:  当a=1,b≠0时,新图像是原图像所有像素的灰度值上移或下移,是整个图像在显示时更亮或更暗:  当a>1时,新图像对比度增加:  当a<1时,新图像对比度降低:  当a<0时,暗区域将变亮,亮区域将变暗,点运算完成了图像求补: 非线性点运算是指输入与输出为非线性关系,常见的非线性灰度变换为对数变换和幂次变换

『Python』PIL图像处理_矩阵转化

应师兄要求改图,因为使用了PIL包把图片对象转化为numpy的矩阵,截取以及处理很好玩且方便,特此记录: 1 import numpy as np 2 from PIL import Image 3 import matplotlib.pyplot as plt 4 5 img = Image.open('./7b6021ef9e6892dcf14dc5dd269afaada763fedc13b29-iHXENu_fw658.jpeg') 6 plt.imshow(img) 7 plt.show

MATLAB图像处理_图像的白平衡算法(灰色世界法)

白平衡,即所谓的白色的平衡. 白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法! 灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R. G. B 三个分量的平均值趋于同一个灰度K. 下面是具体的算法代码: RGB=imread('test.jpg'); R = RGB(:,:,1); G = RGB(:,:,2); B = RGB(:,:,3); Rx4 = RGB(:,:,1)*4; Gx4 = RGB(:,:,2)

MATLAB图像处理_去雾算法

使用MATLAB进行图像的去雾操作,网上一搜,这方面的东西很多,貌似已然成为研究的一个方向,大牛辈出! 这里仅仅给出一个代码,能实现图像的去雾操作,详细的看后边有没有时间,想自己研究研究. function darktest(filename) %暗影去雾算法 %filename------文件名或文件绝对路径 %用法:darktest('7.png') close all clc w0=0.65; %0.65 乘积因子用来保留一些雾,1时完全去雾 t0=0.1; I=imread(filena

MATLAB图像处理_直接操作像素点进行颜色变换

需求 直接操作RGB图像的像素点,进行颜色的相关操作. 掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行.整列的操作. 如: J = [1 2 3; 4 5 6; 7 8 9]; --这里定义了一个三行三列的矩阵. J[:, 1] = 0; --直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9] 其他如行操作用法类似,不再赘述. 下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色. 代码如下: % BY SCOTT % red2blue %