Fork me on GitHub

MATLAB - 为什么imshow(g,[])可以正常显示,而imshow(g)却显示空白图像?

Q:为什么imshow(g,[])可以正常显示,而imshow(g)却显示空白图像?

A:数据类型如果是double,imshow的处理范围是0-1
数据类型如果是uint8,imshow的处理范围是0-255
  
如果数据是0-255的,类型又是double,直接imshow会把大于1的都当成1,就是一片白了
解决方法
1 imshow(uint8(img));
2 imshow(img, []);
  
注:图像处理的时候用double类型处理,不会丢失精度,显示的时候用uint8。

posted @ 2015-10-06 18:08  wangduo  阅读(2275)  评论(0编辑  收藏  举报