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\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中文本文件與圖像轉化