最近gbl在学图像处理,为了卖弄一下所学知识,便去找lym切磋,说:“给你一个数据.csv文件,你来解读一下里面的信息,如果无法解读就不要找我玩了,解读出来的话有惊喜哦!”
首先,弄一张图片,如下图所示,
接下来就是将其转化为二维矩阵放到EXCEL中,程序如下:
k=imread('/Users/gbl/Desktop/yy.png')%读入图片
kb=rgb2gray(k)%转为灰度图像
imshow(kb)
显示结果如下:
好了,大功告成,只要将矩阵kb发给lym就行了。但是转念一想,“万一不能由矩阵得到图片咋办,先自己试试吧”。
gbl=load('key.csv')
imshow(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=mat2gray(im)%矩阵转为灰度格式(double)(本文中用的方法)