趣谈MATLAB的图像读入格式问题
2016-10-09 20:05
253 查看
最近gbl在学图像处理,为了卖弄一下所学知识,便去找lym切磋,说:“给你一个数据.csv文件,你来解读一下里面的信息,如果无法解读就不要找我玩了,解读出来的话有惊喜哦!”
首先,弄一张图片,如下图所示,
接下来就是将其转化为二维矩阵放到EXCEL中,程序如下:
显示结果如下:
好了,大功告成,只要将矩阵kb发给lym就行了。但是转念一想,“万一不能由矩阵得到图片咋办,先自己试试吧”。
糟糕,果然不能还原!如下图:
如此,gbl只能去学习了,原来MATLAB矩阵一般以double类型存储,而图片则以uint8来进行存储。所以必须进行转化,于是,gbl这样做:
gbl=load('key.csv')
tmp=mat2gray(gbl)
imshow(tmp)
还原成功了唉!赶紧发给lym装逼~~~
lym 开始了他的破解之路,因为他很想跟gbl玩,凭借他对gbl的了解,细想之下,他打开了MATLAB,输入
赶紧去找gbl请吃饭!
总结:
显示图片可以用imagesc函数,但是这可不是本篇文章的正解啊,虽然字显示出来了,但已经完全不是之前的图片了,颜色都变了。
gbl来说一下正解哈哈!
MATLAB中,将图像转为double格式的方法是,cur=double(now)/255,然后进行运算,否则会溢出;
相反,如果想用imshow命令显示图像,则需要将矩阵转化为unit格式,方法如下:
首先,弄一张图片,如下图所示,
接下来就是将其转化为二维矩阵放到EXCEL中,程序如下:
k=imread('/Users/gbl/Desktop/yy.png')%读入图片 kb=rgb2gray(k)%转为灰度图像
imshow(kb)<span style="font-size: 14px; text-align: center; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
显示结果如下:
好了,大功告成,只要将矩阵kb发给lym就行了。但是转念一想,“万一不能由矩阵得到图片咋办,先自己试试吧”。
gbl=load('key.csv') <span style="font-size: 14px;">imshow(gbl)</span>
糟糕,果然不能还原!如下图:
如此,gbl只能去学习了,原来MATLAB矩阵一般以double类型存储,而图片则以uint8来进行存储。所以必须进行转化,于是,gbl这样做:
gbl=load('key.csv')
tmp=mat2gray(gbl)
imshow(tmp)
还原成功了唉!赶紧发给lym装逼~~~
lym 开始了他的破解之路,因为他很想跟gbl玩,凭借他对gbl的了解,细想之下,他打开了MATLAB,输入
lym=load('key.csv') imagesc(lym)竟然成功了呢!!!
赶紧去找gbl请吃饭!
总结:
显示图片可以用imagesc函数,但是这可不是本篇文章的正解啊,虽然字显示出来了,但已经完全不是之前的图片了,颜色都变了。
gbl来说一下正解哈哈!
MATLAB中,将图像转为double格式的方法是,cur=double(now)/255,然后进行运算,否则会溢出;
相反,如果想用imshow命令显示图像,则需要将矩阵转化为unit格式,方法如下:
I=im2uint8(im)%矩阵转化为uint8格式 I=matgray(im)%矩阵转为灰度格式(double)(本文中用的方法)
相关文章推荐
- 【matlab】matlab读用索引来表示(伪彩色)的bmp图像的格式相关问题
- 将CCD的RAW图像格式文件直接读入到MATLAB中实现
- matlab多文件读入问题的几行代码
- 关于MATLAB图像相关性分析的问题
- Matlab中对图像应用plot或者rectangle后的图像保存问题
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件
- matlab中图像的存储格式
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件。
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件。
- Matlab中连续读入并处理图像,然后保存至指定文件夹下-dir,strcat,fullfie,imread,imwrite
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件。
- matlab中图像灰度拉伸的问题
- Matlab关于批量读取和存储图像这类问题的经验分享
- CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件。 关于CxImage的文章,网上有许多,这里只介绍如何把CxImage与OpenGL结合起来,用于读
- 生成水印图片是出现这个问题!(无法从带有索引像素格式的图像创建 Graphics 对象。)
- 各种格式图像经过DGI+获得CBitmap后在CImagelist中的透明问题
- matlab读取未知格式图像
- Matlab读和写图像需要注意的问题