How do i write a text..

I wrote this code and i would like to write a text on the top of this file and on the bottom. How can i do this?
grayImage = imread('moon.tif');
[height, width] = size(grayImage)
[X, Y] = meshgrid(1:width, 1:height);
numberOfPixels = length(X(:))
points = [X(:) Y(:) grayImage(:)];
A = [X(:) Y(:) grayimage(:)];
fid = fopen('moon.txt','wt');
for ii = 1:size(A,1)
fprintf(fid,'%g\t',A(ii,:));
fprintf(fid,'\n');
end
fclose(fid)

 采纳的回答

Image Analyst
Image Analyst 2013-6-8
编辑:Image Analyst 2013-6-8
Simply add a fprintf() before and after you write the gray levels to the text values.
fid = fopen('moon.txt','wt');
fprintf(fid,'Stuff at the beginning of the file.\n');
for ii = 1:size(A,1)
fprintf(fid,'%g\t',A(ii,:));
fprintf(fid,'\n');
end
fprintf(fid,'Stuff at the end of the file.\n');
fclose(fid)

5 个评论

I would like to write all of them in the same file e.g.
Stuff at the beginning of the file
1 1 255
1 2 200
Stuff at the end of the file
Why is it that you think the text lines are written to different files than the pixel values? They aren't. They ARE written to the same file.
i write this code and when i open the moon.txt file i see only the pixel values
grayImage = imread('moon.tif');
[height, width] = size(grayImage)
[X, Y] = meshgrid(1:width, 1:height);
numberOfPixels = length(X(:))
points = [X(:) Y(:) grayImage(:)];
A = [X(:) Y(:) grayImage(:)];
fid = fopen('moon.txt','wt');
fprintf('Stuff at the beginning of the file.\n');
for ii = 1:size(A,1)
fprintf(fid,'%g\t',A(ii,:));
fprintf(fid,'\n');
end
fprintf('Stuff at the end of the file.\n');
fclose(fid)
Sorry - forgot to add that you need to pass in the file ID. See corrected code. If you don't have that it just prints to the command window.
thank you for your time!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Import, Export, and Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by