今天用matlab的imshow函数显示经过hough变换后的图像时遇到一个问题,直接用imshow(I)来显示,出来的只有黑白图像,
查了很多资料之后发现要在imshow里面添加一个空矩阵[],才能显示正常的灰度图像。
原因如下:matlab的图像经过数值计算之后会将数据类型转换为double类型的,double类型数据在imshow函数里默认为0~1范围内,数值超过1的重置为白色,所以显示出来的是黑白图像。imshow(I,[ ])的意思相当于imshow(I,[min(I(:)) max(I(:))])I中数值最大值与最小值分别为255和0。图像就可以正常显示了。