I have folder with name 'images' within that folder 20 sub-folders are there. that sub-folder consist 20 images with name like 'img (1).gif'. I have to read images one by one then store the hog features in the text file.
2 次查看(过去 30 天)
显示 更早的评论
objects={'apple','bat','beetle'};%apple,bat,beetle are sub-folder name
trimgs=10;
for i=1:length(objects)
for j=1:trimgs
imgpath=['.\images\' objects{i} '\img (' int2str(j) ').gif'];
I=imread(imgpath);
J = imresize(I,[256,256]);
fid=fopen('feature_vector.txt','w');
fprintf(fid,'%i\t',hog_feature_vector(J));
fprintf(fid,'\n');
fclose(fid);
end
end
0 个评论
采纳的回答
Cam Salzberger
2017-8-29
What issues are you running into? Or what is your question?
I can suggest that you consider using "dir" to automatically get the "objects" name.
If you are using the same "feature_vector.txt" file for all the images, you probably want to use fopen with the 'a' option (for "append") rather than the 'w' option (for "write", discarding current contents).
2 个评论
Cam Salzberger
2017-8-31
I don't know what "hog_feature_vector". However, if it is a vector of integers, then your line:
fprintf(fid,'%i\t',hog_feature_vector(J));
seems like it would work correctly. What are you seeing when you run this? I would expect it to output something similar:
x = [1 2 3 4 5];
fprintf('%i\t',x)
1 2 3 4 5
If by "matrix output" you mean you want square brackets and stuff, you can just add that before you print each line.
更多回答(1 个)
Image Analyst
2017-8-29
2 个评论
Image Analyst
2017-8-30
The link you gave just points back here. Basically learn how to use fprintf() and you can write out anything you want to a text file.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!