loop that convert jpg to csv
조회 수: 3 (최근 30일)
이전 댓글 표시
How can I loop process that converts the images to csv and saves it in another directory. ( have a lot of images)
댓글 수: 3
Guillaume
2018년 8월 6일
"this is the example"
So, you show us an image and give us a text file that contains some numbers. And you leave it to us to work out how the two relate to each other? Perhaps, you should explain what's in that text file.
A first glance, it looks like that text file is a partial copy of a matrix output on the command line, as witnessed by the Columns xxx through yyy lines that appear throughout the file similar to:
...
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Columns 521 through 540
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
...
This is nothing like what is conventionally called a csv file.
답변 (2개)
KALYAN ACHARJYA
2018년 8월 6일
편집: KALYAN ACHARJYA
2018년 8월 6일
%Save all images name in a sequence manner before doing the operation
% names for example im1,im2,im3..or 1,2,3...so on
%Save the folder of images in the current directory
path_directory='cov_test'; % 'Folder name' having images
original_files=dir([path_directory '/*.jpg']);
for k=1:length(original_files)
filename=[path_directory '/' original_files(k).name];
image1=imread(filename);
image=rgb2gray(image1);
destination='D:\Kalyan Works\Matlab Work\csv_im\im'; %Save Folder path
dlmwrite([destination,num2str(k),'csv'],image);
end
댓글 수: 7
Guillaume
2020년 1월 7일
Hi,
I do the exactly same code as mentioned. After inputting in the command window, MATLAB does not provide any feedback and respond.
Can anyone help me to solve this ?

Guillaume
2020년 1월 7일
Why do you expect any output in the command window? All the code does is create files, admittedly in an unexpected location.
I would expect that you find store1csv and store2csv (no extension) in C:\Users\Jin\Desktop\bioid (i.e. the current directory).
Had the original code used proper path building functions (fullfile) and proper string building functions (sprintf) I suspect that the files would end up where they're intended with the correct name:
source_directory = 'Whatever you want';
destination_directory = 'Wherever';
original_files = dir(fullfile(source_directory, '*.jpg')); %guaranteed to work on any OS. Don't build paths yourself
for fileidx = 1:numel(original_files)
img = imread(fullfile(source_directory, original_files(fileidx).name)); %again use fullfile to build paths
if ndims(img) == 3 %colour image, convert to grey
img = rgb2gray(img);
end
dlmwrite(fullfile(destination_directory, sprintf('%d.csv', fileidx)), img);
end
alexey shnyder
2018년 8월 6일
댓글 수: 6
Stephen23
2018년 8월 6일
@KALYAN ACHARJYA: the warning that you are getting is very clear, and has nothing to do this code. You have named a function save. Naming functions with the same name as inbuilt MATLAB functions is a bad idea, which is why it is warning you about this conflict.
Solution: rename your function.
Tip: always check if a function name is used bfore using it yourself:
which save -all
참고 항목
카테고리
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!


