\r
FileType = '*.png';\r
\r
+main_wb = waitbar(0, 'Whole processing progress');\r
% process all directories in cycles\r
for i=1:nSelectedDirectory\r
FileName=([DirectoryName '/' SelectedDirectory{i} '/' FileType]);\r
FFiles = dir(FileName); % Loads files to struct FFiles(1).name, FFiles(1).folder, FFiles(1).date - i s casem\r
\r
- ImageName = FFiles(1).name;\r
- start_time = name_to_time(FFiles(1).name);\r
- Figure = imread([FFiles(1).folder '/' ImageName]);\r
-\r
%%D_num=str2double(SelectedDirectory{i}(21)); % position of camera\r
-\r
- [image_width, image_height] = size(Figure);\r
- sumfig = zeros(image_width, image_height);\r
- minfig = Figure;\r
- maxfig = Figure;\r
-\r
- step = 10;\r
- startFile = 1;\r
- endFile = numel(FFiles);\r
- wait_bar = waitbar(0, '');\r
- set(gca(wait_bar).Title, 'Interpreter', 'none');\r
- for j=startFile:step:endFile\r
- ImageName = FFiles(j).name;\r
- Figure = imread([FFiles(j).folder '/' ImageName]);\r
-\r
- waitbar((j - startFile)/(endFile - startFile), wait_bar, ['Preproccessing images from meassurement ' num2str(i) '/' num2str(nSelectedDirectory)]);\r
-\r
- sumfig = sumfig + double(Figure);\r
- minfig = min(minfig, Figure);\r
- maxfig = max(maxfig, Figure);\r
- end\r
-\r
- close(wait_bar);\r
-\r
- meanfig = uint8(sumfig / ((endFile - startFile) / step + 1));\r
+ [minfig, maxfig, meanfig] = get_aggregate_images(FFiles);\r
changefig = maxfig - minfig;\r
-\r
- %{\r
- figure\r
- subplot(2,2,1);\r
- title('Pixel maxima');\r
- imshow(maxfig);\r
- subplot(2,2,2);\r
- title('Pixel minima');\r
- imshow(minfig);\r
- subplot(2,2,3);\r
- title('Pixel means');\r
- imshow(meanfig);\r
- subplot(2,2,4);\r
- title('Difference between max and min');\r
- imshow(changefig);\r
- %}\r
-\r
mask = get_mask(changefig, meanfig);\r
figure();\r
imshow(meanfig .* uint8(mask));\r
\r
+ waitbar((i - 0.5)/nSelectedDirectory, main_wb);\r
+\r
meter = get_meter(maxfig, mask);\r
\r
[~, calm_level] = min(mean(double(meanfig), Weights = mask));\r
wait_bar = waitbar(0, '');\r
set(gca(wait_bar).Title, 'Interpreter', 'none');\r
intensity = [];\r
- step = 10;\r
+ startFile = 1;\r
+ endFile = numel(FFiles);\r
+ step = 1;\r
N = floor((endFile - startFile)/step) + 1;\r
for j = 1:N\r
file_ind = startFile + (j - 1) * step;\r
ImageName = FFiles(file_ind).name;\r
Figure = imread([FFiles(file_ind).folder '/' ImageName]);\r
- waitbar(j/N, wait_bar, ['Proccessing images from meassurement ' num2str(i) '/' num2str(nSelectedDirectory)]);\r
+ waitbar(j/N, wait_bar, 'Proccessing the images');\r
intensity = mean(double(Figure), Weights = mask);\r
[water(j), bubble_top(j), bubble_bot(j)] = get_levels(intensity);\r
end\r
close(wait_bar);\r
+ waitbar(i/nSelectedDirectory, main_wb);\r
\r
figure\r
plot(meter([water; bubble_top; bubble_bot]'));\r
\r
end\r
+close(main_wb);\r
--- /dev/null
+function [min_img, max_img, mean_img] = get_aggregate_images(files, start_file, end_file, step)
+ if nargin < 2
+ start_file = 1;
+ end
+ if nargin < 3
+ end_file = numel(files);
+ end
+ if nargin < 4
+ step = 10;
+ end
+
+ image_name = files(1).name;
+ image = imread([files(1).folder '/' image_name]);
+
+ [image_width, image_height] = size(image);
+ sum_img = zeros(image_width, image_height);
+ min_img = image;
+ max_img = image;
+
+ step = 10;
+ start_file = 1;
+ end_file = numel(files);
+ wait_bar = waitbar(0, ['Aggregating the images']);
+ for j=start_file:step:end_file
+ image_name = files(j).name;
+ image = imread([files(j).folder '/' image_name]);
+
+ waitbar((j - start_file)/(end_file - start_file), wait_bar);
+
+ sum_img = sum_img + double(image);
+ min_img = min(min_img, image);
+ max_img = max(max_img, image);
+ end
+
+ close(wait_bar);
+
+ mean_img = uint8(sum_img / ((end_file - start_file) / step + 1));
+
+ %{
+ figure
+ subplot(2,2,1);
+ title('Pixel maxima');
+ imshow(max_img);
+ subplot(2,2,2);
+ title('Pixel minima');
+ imshow(min_img);
+ subplot(2,2,3);
+ title('Pixel means');
+ imshow(mean_img);
+ subplot(2,2,4);
+ title('Difference between max and min');
+ imshow(changefig);
+ %}
+end