error in writing values to text file

1 view (last 30 days)
I have a code below
clc
clear all
close all
% a= imread('im16_1a.png');
% I=rgb2gray(a);
I=imread('rice.png');
imgTrans = I';
% iD conversion
img1D = I(:);
% Decimal to Hex value conversion
imgHex = dec2hex(img1D,6);
% New txt file creation
fid = fopen('text.txt', 'wt');
% Hex value write to the txt file
fprintf(fid,'%s\n',imgHex)
% Close the txt file
fclose(fid)
winopen('text.txt')
i this i have converted to hexadecimal,i want to write values in imgHex to text file,but wen i write i dont get vales as in imgHex,kindly help

Accepted Answer

Guillaume
Guillaume on 8 Oct 2014
dec2hex returns a single 2d string which is then flattened by column into a 1d string in the call to fprintf. You have several options. one is to iterate over the rows of the 2d string and call fprintf on each row:
for hexrow = 1:size(imgHex, 1)
fprintf(fid, '%s\n', imgHex(hexrow, :));
end
Another is:
cellfun(@(hexstring) fprintf(fid, '%s\n', hexstring), num2cell(imgHex, 2));

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!