matlab中文本文件与图像转化
?
一? 將圖片轉(zhuǎn)化為txt文本文件
a=imread('picture.bmp');?? //讀取picture.bmp圖片
b=rgb2gray(a);???????????????? //由rgb圖片轉(zhuǎn)化為灰度圖
c=b';?????????????????????????????? //matlab由圖片轉(zhuǎn)換為矩陣是一列一列轉(zhuǎn)的,txt文件數(shù)據(jù)讀入矩陣也是一列一列讀入的,后文以行為單位處理的話需要轉(zhuǎn)置,后面還要再轉(zhuǎn)置一次
fid0=fopen('data.txt','wt');?? //在matlab工作目錄創(chuàng)建并打開一個名為data.txt的文件,形式為可寫
fprintf(fid0,'%x\n',c);??????????//把灰度圖矩陣b以16進(jìn)制寫入data.txt文件,沒寫入一個元素?fù)Q一行
fclose(fid0);?????????????????????//關(guān)閉保存該data.txt文件???????
二?? 將txt文本文件讀取為圖片
法一:
fid0=fopen('data.txt','r');???? //data.txt已存在與matlab工作目錄,以讀取形式打開該文件
[a,count]=fscanf(fid0,'%x');//a為data.txt文件數(shù)據(jù)讀入的矩陣,以16進(jìn)制形式,count為該矩陣元素個數(shù)
b=reshape(a,m,[])??????????? //將矩陣a轉(zhuǎn)換為圖片大小的矩陣b,圖片行長為m
c=b';????????????????????????????? //需要再轉(zhuǎn)置一次方為圖片行列方向的矩陣
imshow(b,[]);?????????????????? //顯示矩陣b為圖片
若法一提示有錯誤,就用法二,具體原因有時間再研究,反正我不是做圖像處理的,matlab用到哪就學(xué)到哪吧!
法二:
a0=load(data.txt');?????????? //將txt文件數(shù)據(jù)讀取入矩陣
b0=reshape(a0,m,[]);?????? //將矩陣a轉(zhuǎn)換為圖片大小的矩陣b,圖片行長為m
c0=b0';?????????????????????????? //轉(zhuǎn)置,原因同上
imshow(c0,[]);???????????????? //顯示圖片
轉(zhuǎn)載于:https://www.cnblogs.com/limanjihe/p/9801238.html
總結(jié)
以上是生活随笔為你收集整理的matlab中文本文件与图像转化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot1.5.10兼容高版
- 下一篇: 最短路径问题----Dijkstra算法