efros_freeman  0.1
boundary_cut.h
Go to the documentation of this file.
1 /*
2  Copyright (c) 2016 Lara Raad <lara.raad@cmla.ens-cachan.fr>,
3  Bruno Galerne <bruno.galerne@parisdescartes.fr>
4 
5  Quilting is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Affero General Public License as
7  published by the Free Software Foundation, either version 3 of the
8  License, or (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 /**
20 * @file boundary_cut.h
21 * @brief this header file contains all necessary
22 * functions to perform the boundary mask to thenn
23 * blend the patch under construction into the
24 * synthesized image.
25 *
26 * @author Lara Raad
27 *
28 * @date 24/06/2014
29 */
30 #ifndef BOUNDARY_CUT_H_
31 #define BOUNDARY_CUT_H_
32 
33 #include "common.h"
34 
35 int cumulative_vertical_error(Image *out_im, Image src_im, Image *E,
36  Image *paths, int ps, int os, int x, int y, Corner patch_src);
37 
38 int cumulative_horizontal_error(Image *out_im, Image src_im, Image *E,
39  Image *paths, int ps, int os, int x, int y, Corner patch_src);
40 
41 int compute_boundary_mask(Image src_im, Image out_im, Image *boundary_mask,
42  int os, int ps, Corner * temp, Corner patch_src);
43 
44 int create_vertical_mask(Image *E_V, int ps, int os, Image *boundary_mask,
45  Image paths_V);
46 
47 int create_horizontal_mask(Image *E_H, int ps, int os, Image *boundary_mask,
48  Image paths_H);
49 
50 int create_Lshape_mask(Image *E_V, Image *E_H, int ps, int os,
51  Image *boundary_mask, Image paths_V, Image paths_H);
52 
53 #endif