Matlab中imshow()函数的使用


    最近初学matlab遇到了imshow()函数的使用问题,搜完资料后写出来作为笔记,希望能帮助到遇见同样问题的人。。。


   问题:在使用imshow(A)显示一张灰度图片时,显示出的是一张纯白的图片。。(A为double类型的图像矩阵)

    原因:在matlab中,为了保证精度,经过了运算的图像矩阵A其数据类型会从unit8型变成double型。imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色。imshow显示uint8型时是0~255范围。

    解决:使用imshow(A,[]),即可把图像矩阵A显示为正常的灰度图像。

    原理:imshow(A,[])是将A的最大值(max(A))和最小值(min(A))分别作为纯白(255)和纯黑(0),中间的K值相应地映射为0到255之间的标准灰度值,这样就可以正常显示了。。。,相当于将double型的矩阵A拉伸成为了0-255的uint8型的矩阵,因此就可以正常显示

猜你喜欢

转载自blog.csdn.net/zaishuiyifangxym/article/details/79759601