how process sequence of the images in a loop without overwriting
조회 수: 1 (최근 30일)
이전 댓글 표시
here, i am solving around 20000 images at once but the output i'm getting is only the last iamge.
here is the code i got from the Matlab Answers, but also it didn't work can anyone help me.
댓글 수: 3
Stephen23
2020년 3월 3일
Original Question: "how process sequence of the images in a loop without overwriting"
here, i am solving around 20000 images at once but the output i'm getting is only the last iamge.
here is the code i got from the Matlab Answers, but also it didn't work can anyone help me.
myFolder = 'E:\IMAGES\100k\flip';
if exist(myFolder, 'dir') ~= 7
Message = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(Message));
return;
end
filePattern = fullfile(myFolder, '*.jpg');
jpegFiles = dir(filePattern);
for i = 1:length(jpegFiles)
fileName = sprintf('%5.5d.jpg', i);
piccell{i} = imread(fileName);
end
grayImage = imread(fileName);
[rows, columns, numberOfColorChannels] = size(grayImage);
if numberOfColorChannels > 1
grayImage = rgb2gray(grayImage);
end
highThreshold = 150;
binaryImage = grayImage <= highThreshold;
binaryImage = bwareafilt(binaryImage, 1);
binaryImage = imfill(binaryImage, 'holes');
bottomLine = zeros(rows, 1);
for col = 1 : columns
thisColumn = binaryImage(:, col);
lastLine = find(thisColumn, 1, 'last');
if ~isempty(lastLine)
bottomLine(col) = lastLine;
end
end
meanbottomLine = mean(bottomLine(bottomLine>0));
save bkl_.dat meanbottomLine -ascii
답변 (1개)
Benjamin Großmann
2020년 2월 26일
Have a look at your first for loop. Here you are generating a char called fileName which is overwritten in every loop count. furthermore, this loop is unnecessary since you already have your file names in the struct array jpegFiles.
Try to use
fileNameCell = {jpegFiles.name};
to get a cell array of file names. Then write a function which does your image manipulation for one file. Finally, call your function with cellfun and the fileNameCell to apply the image manipulation to every file in the cell.
You can also have a look at the imageSet class.
댓글 수: 8
Benjamin Großmann
2020년 3월 9일
Please put a breakpoint in line 3 of the function, then run the script and post the contents of img_fullfile after the breakpoint was reached
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!