在MATLAB使用imshow函数的注意事项

一、注意imshow()和imshow(I,[])的区别

*******   如果I为double型,一定要用imshow(I,[]),否则显示会出错   ***********

例如有一张图,是double类型的,已知最大值为58,最小值为0

1、直接用imshow(uni_LBP),结果——将uni_LBP中为0的显示为黑色,大于等于1的显示为白色

2、imshow(I,[low,high]),功能:灰度低于low的像素被显示为黑色,高于high的被显示为为白色,介于low和high之间的像素按比例显示为各个等级的灰色

 如imshow(uni_LBP,[0,58]),相当于0-58被线性拉伸到0-255显示

 

3、如果将参数指定为空矩阵[],则函数会将图像矩阵中的min(I(:))=low,max(I(:))=high,从而达到灰度拉伸的效果

如imshow(uni_LBP,[]),显示结果如与2一致

4、如果想看到uni_LBP 真实的灰度信息,可以这样做:将某个像素置为255,

1%显示2 uni_LBP(1,1)=255;    %为了不让它把0-58映射到0-255
3 imshow(uni_LBP,[]);
4 title('uniform pattern LBP');

5、如果图像本身是uint8类型的,那么imshow(I)imshow(I,[])显示没有差异,如:

            

 

 

原文地址:https://www.cnblogs.com/liulijin/p/6877277.html