Matlab圖像數據寫入txt和讀取txt顯示圖像

1、Matlab讀取圖像,將圖像數據寫入txt中 

% mcode to median filter for one jpg image, and create a image data file
src = imread('lena1.jpg');
gray = rgb2gray(src);
 
medfilt2im = medfilt2( gray );
[m, n] = size( medfilt2im );% m行 n列
 
N = m*n;%%數據的長度,即存儲器深度。
word_len = 8;%%每個單元的佔據的位數,需自己設定
lena_gray = reshape(gray', 1, N);% 1行N列
lena_medfilt = reshape(medfilt2im', 1, N);% 1行N列
 
fid_gray=fopen('lena1_gray.txt', 'wt');%打開文件
fid_medfilt=fopen('lena1_medfilt.txt', 'wt');%打開文件
% fprintf(fid, 'MEMORY_INITIALIZATION_RADIX=16;\n');
% fprintf(fid, 'MEMORY_INITIALIZATION_VECTOR=\n');
 
for i = 1 : N-1
    fprintf(fid_gray, '%d,\n', lena_gray(i));%使用%x表示十六進制數
end
fprintf(fid_gray, '%d;\n', data(N));%%輸出結尾,每個數據後面用逗號或者空格或者換行符隔開,最後一個數據後面加分號
fclose(fid_gray);%%關閉文件

for i = 1 : N-1
    fprintf(fid_medfilt, '%d,\n', lena_medfilt(i));%使用%x表示十六進制數
end
fprintf(fid_medfilt, '%d;\n', lena_medfilt(N));%%輸出結尾,每個數據後面用逗號或者空格或者換行符隔開,最後一個數據後面加分號
fclose(fid_medfilt);%%關閉文件

2、讀取txt中的數據,將其以圖像的形式顯示 

% code to create image data from txt file
clc;
clear all;
close all;

medfilt_v_load = load('.\result.txt'); 

m = 8192;
n = 500;

medfilt_v = reshape(medfilt_v_load, m, n);
medfilt_v = uint8(medfilt_v');
imshow(medfilt_v);
imwrite(medfilt_v,'6.jpg');

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章