matlab中文本文件与图像转化

Posted limanjihe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中文本文件与图像转化相关的知识,希望对你有一定的参考价值。

 

一  将图片转化为txt文本文件

a=imread(‘picture.bmp‘);   //读取picture.bmp图片

b=rgb2gray(a);                 //由rgb图片转化为灰度图

c=b‘;                               //matlab由图片转换为矩阵是一列一列转的,txt文件数据读入矩阵也是一列一列读入的,后文以行为单位处理的话需要转置,后面还要再转置一次

fid0=fopen(‘data.txt‘,‘wt‘);   //在matlab工作目录创建并打开一个名为data.txt的文件,形式为可写

fprintf(fid0,‘%x ‘,c);          //把灰度图矩阵b以16进制写入data.txt文件,没写入一个元素换一行

fclose(fid0);                     //关闭保存该data.txt文件       

二   将txt文本文件读取为图片

法一:

fid0=fopen(‘data.txt‘,‘r‘);     //data.txt已存在与matlab工作目录,以读取形式打开该文件

[a,count]=fscanf(fid0,‘%x‘);//a为data.txt文件数据读入的矩阵,以16进制形式,count为该矩阵元素个数

b=reshape(a,m,[])            //将矩阵a转换为图片大小的矩阵b,图片行长为m

c=b‘;                              //需要再转置一次方为图片行列方向的矩阵

imshow(b,[]);                   //显示矩阵b为图片

若法一提示有错误,就用法二,具体原因有时间再研究,反正我不是做图像处理的,matlab用到哪就学到哪吧!

法二:

a0=load(data.txt‘);           //将txt文件数据读取入矩阵
b0=reshape(a0,m,[]);       //将矩阵a转换为图片大小的矩阵b,图片行长为m
c0=b0‘;                           //转置,原因同上
imshow(c0,[]);                 //显示图片




以上是关于matlab中文本文件与图像转化的主要内容,如果未能解决你的问题,请参考以下文章

matlab中mat文件怎么转化为图形文件

二进制文件与文本文件相互转化 java实现~

matlab怎样用二进制的文本文件保存

matlab2010怎么在fig图中插入竖立的文本框

matlab学习滚动条改变文本数值

matlab GUI-图像输入与输出的简单例子