码迷,mamicode.com
首页 > 其他好文 > 详细

matlab中文本文件与图像转化

时间:2018-11-25 11:56:51      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:sha   \n   中文   strong   文件   pen   res   close   16进制   

 

一  将图片转化为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\n‘,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中文本文件与图像转化

标签:sha   \n   中文   strong   文件   pen   res   close   16进制   

原文地址:https://www.cnblogs.com/limanjihe/p/9801238.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!