问题:
1.在使用拉普拉斯的时候,为啥会使图像 退化,黑色变为灰度级色彩,。。。。
2.使用对数进行对比度拉伸
主要出路灰度图像
一、亮度变换
imadjust()
将图像从一个灰度区域变化到另一个灰度区域,也可以利用它进行灰度的反转
对数与对比度拉伸
g=c*log(1+double(f))
主要用于压缩动态范围,
gs=im2uint8(mat2gray(g))
利用对数变换减小动态范围
imhist(f,b)
做直方图,阶数为b,b的大小由图片的数据类决定
imhist(f);
画相片的直方图
numel(f);
求出图片的像素总数
bar(horz,v,width);
bar(horz,v)
axis([horzmin horzmax vertmin vertmax]);
xlable('teststring','fontsize',size);
text(xloc,yloc,'text string','fontsize',size);
tittle('tittlestring');
stem()
plot()
直方图均衡化
g=histeq(f,nlev)
均衡话的结果是扩展动态范围的图像并且具有较高的对比度
g=histeq(f,nlev)nlev默认为256
直方图匹配
g=histeq(f,hepec);hepec 是一个要匹配的直方图模板
二、空间滤波
1、领域处理包括;
定义中心点
对预先定义的以(x,y)为中心的领域内的像素进行操作
另运算结果为改点处的响应
对像素中的每一点进行
2、线性空间滤波
将领域中每个像素与相应的系数相乘,然后将结果计算进行累加,从而得到点(x,y)处的响应。这个系数矩阵称为模板、滤波器、窗口
一般模板的大小为奇数*奇数
g=imfilter(f,w,filtering_mode,boundray-options,size-options);
函数的输出和输入具有相同的数据类型,所以会有下面的问题:
在使用这个函数的的时候要注意数据的范围问题,如果输出通过这个函数后能转换为和输入异种数据类型的时候,剪切会引起数据的丢失
可以现将数据转换到0~1 之间的double的类型,然后再使用。
在使用拉普拉斯滤波器的时候,由于中间值正是负数,但是周围为正。像素为正,结果导致得到带有负值的图像,而这个函数输入和输出具有
相同的结构,使得负值被杀去。。。。
拉普拉斯算子是一种微分算符,会使图像锐化。。。。在源图像中黑色的区域会退化为灰度级色调
3.非线性空间滤波器
g=colfilt(f,[m n],'sliding',@fun,parameters);
fp=padarray(f,[r c],method,direction);
4.标准滤波器
w=fspecial('type',parameters);?
5
生产排序滤波器
g= ordfilt2(f,order,domain)
order指定为那一个
domain相当于模板的东西,由0 和1 组成相当于
当order=median(1:m*n)时,相当与中值滤波器
medfilt2(f,[m n],padopt),
中值滤波器,对于椒盐噪声具有很好的作用。注意的是使用过程中图像数据是8位的宽度
文章评论(0条评论)
登录后参与讨论