一、注意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,[])顯示沒有差異,如: