现在的位置: 首页 > 综合 > 正文

MATLAB亮度变换

2014年05月20日 ⁄ 综合 ⁄ 共 1187字 ⁄ 字号 评论关闭

灰度图像亮度变换:g = imadjust(f,[low_in high_in],[low_out high_out],gamma)。其中low_in, high_in, low_out, high_out均在区间[0 1]之间,若输入的图像f是uint8类图像,则函数将除以255来确定应用中的实际值,若是uint16类图像,则将除以65535。gamma小于1,则输出为更亮;等于1,亮度不变;大于1,输出亮度更暗。

函数输入可变数目的输入变量:varargin

函数输出可变数目的输出变量:varargout

changeclass: g = changeclass(newclass,f)此函数将图像f转换成由参数newclass指定的类别,并输出图像g.newclass的有效值是uint8,uint16,double。


负片变换:g = imcomplement(f)
对数变换:g = c*log(1+double(f))
gamma变换:imadjust(f,[ ],[ ],gamma)
对比度拉伸变换:g = 1./(1+(m./(double(f)+eps)).^E)

把图像标度在全尺度:g = gscale(f,method,low,high)。其中,f是将被标度的图像,method的有效值为‘full8’(默认)和‘full16’,full8将输出标度为全范围[0 255],full16将输出标度为全范围[0 65535]。若使用这两个,则可以省略low和high。method的第三个有效参数为'minmax',此时要给出low和high在区间[0 1]。

图像直方图:h = imhist(f,b),其中,f为输入图像,h为其直方图,b用于形成直方图的“收集箱”个数。imhist()要求输入的f必须是二维的,当输入的图像是彩色图像时就不是二维的,需要转化为灰度图像 f = rgb2gray(f)。

numel(f)给出数组f中的元素个数(即图像中的像素数)。

axis([horzmin horzmax vertmin vertmax]),该函数设置了水平轴和垂直轴的最大和最小值。

set(gca,'xtick',0:50:255);
set(gca,'ytick',0:200:1500);设置水平和垂直轴的刻度范围。


绘制图像直方图的各种方法:(a)imhist (b)bar (c)stem (d)plot


直方图均衡化(增强图像):g = histeq(f,nlev)。nlev是为输出图像指定的灰度级数。nlev默认值为64.一般来说,我们将nlev设置为256。直方图均衡化可以通过扩展输入图像的灰度级到较宽亮度尺度的范围来实现图像增强。

直方图匹配(增强图像):g = histeq(f,hspec).其中,f为输入图像,hspec为指定的直方图(一个由指定值构成的行向量),g为输出图像,其直方图近似于指定的直方图hspec。

抱歉!评论已关闭.