MATLAB读取黑白图像显示却是黑色,24位深转8位深黑白图像解决方法
Posted fanrupin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB读取黑白图像显示却是黑色,24位深转8位深黑白图像解决方法相关的知识,希望对你有一定的参考价值。
1、24位深转8位深:
ps将24位深原图.png保存为GIF图256即为8位,再将8位gif图转为需要的.png,即转为8位深png图。
2、MATLAB读取黑白图像显示几乎全为黑色:
这是最近处理图像库遇见的一个问题,估计是MATLAB的一个bug,用MATLAB暂时没想到解决方法,所以转战有python解决。
问题具体如下:
这是8位深的png图,看上去是黑白色都有,但用MATLAB处理读取后并显示却是:大部分数字为0,边缘部分极少数大于0。
很是诡异有么有,究竟是眼睛欺骗了我们,还是数字欺骗了我们。5000张图中15张出现了这样的问题。
于是,用python读取图像并保存,结果就正确了,白是白,黑是黑。附上简单的代码:
from skimage import io
img=io.imread(\'D:/03152_matte.png\')
print(img)
io.imshow(img)
io.imsave(\'D:/03152_matte.png\',img)
3、如果对精度要求不高,可以直接保存24位深的图的第一维,这样保存得到的是正确的黑白图像。
个人看法:MATLAB做了这么多年了,怎么还会有这么低级的错误,是不是该跟官方反应一下。。。ORZ。。。
以上是关于MATLAB读取黑白图像显示却是黑色,24位深转8位深黑白图像解决方法的主要内容,如果未能解决你的问题,请参考以下文章
matlab 读了一个二维数组,明明看到里面的值除了127就是0,为啥用imshow显示后只有黑白两色
如何通过 tesseract OCR 读取黑色背景图像上的黑色文本?