a b/black_border_removal.m
1
function image_no_border = black_border_removal(image)
2
%% Black Border Removal
3
4
%% Purpose:  
5
% This function finds the maximum and minimum image rows/cols to remove
6
% border around whole slides images.
7
%
8
%% Inputs:
9
% image: image with a border
10
%
11
%% Outputs:
12
% image_no_border: image without border
13
14
%% ------------------------------------------------------------------------
15
% Remove black border
16
% if ref > 0 
17
   grayImage = rgb2gray(image);
18
   grayImage(find(grayImage==255)) = 0; % replace white border with black
19
    [nonZeroRows,nonZeroColumns] = find(grayImage); % find nonzero rows/cols
20
21
    % Get the cropping parameters
22
    topRow = min(nonZeroRows(:));
23
    bottomRow = max(nonZeroRows(:));
24
    leftColumn = max(nonZeroColumns(:));
25
    rightColumn = min(nonZeroColumns(:));
26
27
    crop_parameters = [rightColumn topRow leftColumn bottomRow];
28
    image_no_border = imcrop(image,crop_parameters);
29
% else
30
%     grayImage = im2gray(ref);
31
%     [nonZeroRows,nonZeroColumns] = find(grayImage); % find nonzero rows/cols
32
% 
33
%     % Get the cropping parameters
34
%     topRow = min(nonZeroRows(:));
35
%     bottomRow = max(nonZeroRows(:));
36
%     leftColumn = max(nonZeroColumns(:));
37
%     rightColumn = min(nonZeroColumns(:));
38
% 
39
%     crop_parameters = [rightColumn topRow leftColumn bottomRow];
40
%     image_no_border = imcrop(image,crop_parameters);
41
42
% end 
43
end