1. 程式人生 > >matlab中文本文件與圖像轉化

matlab中文本文件與圖像轉化

pac 文本文 msh sha 保存 atl lose shape 行為

一 將圖片轉化為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中文本文件與圖像轉化