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');

 

你可能感兴趣的:(Matlab)