matlab使用imshow时,遇到的问题
程序员文章站
2024-01-13 12:37:46
...
matlab中显示图像的语句是:imshow(I);或imshow(I,[low,high]);
其中,[low,high]用于指定图像显示的灰度范围,图像中灰度值等于或低于low的都将用显示为黑色,灰度值大于或等于high的都显示为白色。如果用空矩阵[]来代替[low,high],imshow将使用[min(I(:)),max(I(:))]作为第二个参数。
在某些需要保证精度的场合,我们可能会将图像数据保存为double型,此时运行 imshow(img)会得到一张空白的图。
这是因为imshow()显示图像时对double型是认为在0-1范围内,即大于1时都是显示为白色,而imshow()显示uint8型时是0-255范围。
解决办法就是调整图像的数据区间或调整显示的区间:
方法一: imshow(img/256); -----------将图像矩阵转化到0-1之间。
方法二: imshow(I,[]); -----------将显示区间转换到 min(img(:)) 到max(img(:))之间
上一篇: G - 众数问题
下一篇: E - 阿尔法公司执行任务
推荐阅读
-
matlab使用imshow时,遇到的问题
-
matlab使用imshow时,遇到的问题
-
调用使用链接服务器的mssql存储过程遇到的问题
-
php MsSql server时遇到的中文编码问题
-
使用servlet注解开发时,配置了注解不生效的问题解决
-
如何缩小word文档 使用Word文档工作中常遇到的问题
-
前端使用mobx时,变量已经修改了,为什么组件还是没变化,map类型变量,对象类型变量的值获取问题(主要矛盾发生在组件使用时)
-
JDBC连接SQL Server 2008 R2时遇到的常见问题集解
-
Spring Framework源码使用 spring-aspects AOP遇到的问题
-
.Net Core 使用 System.Drawing.Common 部署到CentOS上遇到的问题