• Matlab中利用imshow函数中出现的问题


    imshow是一个很强大的”武器”,显示图像简直无所不能,但这其中往往会出现问题。在处理图像时,我们的图像经常是经过了某种运算,为了保证其精度,系统会自动的将uint8型数据类型转化成double型。

    “如果直接运行imshow(I),我们会发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围。而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。 ”

    解决之道:

    (1) 可以利用mat2gray()函数,这个函数是归一化函数,可以把数据归一化到0-1之间,再用imshow()就可以了;
    (2) 或者对于一个处理后的黑白图像Img,若为double型可以这样写:imshow(Img/max(Img(:)))
    (3) 还有一种就是:imshow(Img,[]);就是加一个[],即可以自动调整显示;
  • 相关阅读:
    django -- 信号
    django缓存设置
    django-debug-toolbar 插件的使用
    scrapy基本操作流程
    scrapy框架持久化存储
    scrapy基础
    phantomJS,谷歌无头浏览器, 模拟登陆qq空间
    python爬虫--selenium
    pytorch掉坑记录:model.eval的作用
    numpy常用函数
  • 原文地址:https://www.cnblogs.com/vincentQin/p/5406007.html
Copyright © 2020-2023  润新知