Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FindLines.h
Go to the documentation of this file.
1 // -*- c-basic-offset: 4 -*-
8 /***************************************************************************
9  * Copyright (C) 2009 by Tim Nugent *
10  * timnugent@gmail.com *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  * This program is distributed in the hope that it will be useful, *
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20  * GNU General Public License for more details. *
21  * *
22  * You should have received a copy of the GNU General Public License *
23  * along with this program. If not, see <http://www.gnu.org/licenses/>. *
24  ***************************************************************************/
25 
26 #ifndef FINDLINES_H
27 #define FINDLINES_H
28 
29 #include <hugin_shared.h>
30 #include "LinesTypes.h"
31 #include "vigra/stdimage.hxx"
32 #include "panodata/Panorama.h"
33 
34 namespace HuginLines
35 {
44  IMPEX vigra::BImage* detectEdges(const vigra::UInt8RGBImage& input, const double scale, const double threshold, const unsigned int resize_dimension, double& size_factor);
45  IMPEX vigra::BImage* detectEdges(const vigra::BImage& input, const double scale, const double threshold, const unsigned int resize_dimension, double& size_factor);
56  IMPEX HuginLines::Lines findLines(vigra::BImage& edge, double length_threshold, double focal_length,double crop_factor);
61  IMPEX void ScaleLines(HuginLines::Lines& lines,const double scale);
69  IMPEX HuginBase::CPVector GetControlPoints(const SingleLine& line,const unsigned int imgNr, const unsigned int lineNr,const unsigned int numberOfCtrlPoints);
77  IMPEX HuginBase::CPVector GetVerticalLines(const HuginBase::Panorama& pano, const unsigned int imgNr, vigra::UInt8RGBImage& image, vigra::BImage& mask, const unsigned int nrLines);
78  IMPEX HuginBase::CPVector GetVerticalLines(const HuginBase::Panorama& pano, const unsigned int imgNr, vigra::BImage& image, vigra::BImage& mask, const unsigned int nrLines);
79 };
80 #endif
HuginBase::CPVector GetVerticalLines(const HuginBase::Panorama &pano, const unsigned int imgNr, vigra::UInt8RGBImage &image, vigra::BImage &mask, const unsigned int nrLines)
searches for vertical control points in given image
Definition: FindLines.cpp:574
void ScaleLines(Lines &lines, const double scale)
scales the given lines with given factor use in conjugation with HuginLines::detectEdges to scale the...
Definition: FindLines.cpp:130
types definitions for line finding algorithm
static char * line
Definition: svm.cpp:2784
Lines findLines(vigra::BImage &edge, double length_threshold, double focal_length, double crop_factor)
find straightish non-crossing lines find straightish non-crossing lines in an edge map using 8-neighb...
Definition: FindLines.cpp:115
Model for a panorama.
Definition: Panorama.h:152
HuginBase::CPVector GetControlPoints(const SingleLine &line, const unsigned int imgNr, const unsigned int lineNr, const unsigned int numberOfCtrlPoints)
returns a HuginBase::CPVector with cps_per_lines
Definition: FindLines.cpp:141
vigra::BImage * detectEdges(const vigra::UInt8RGBImage &input, const double scale, const double threshold, const unsigned int resize_dimension, double &size_factor)
detect and mark edges in an edge image using Canny&#39;s algorithm
Definition: FindLines.cpp:76
#define IMPEX
Definition: hugin_shared.h:39
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.
Definition: threshold.h:41
std::vector< SingleLine > Lines
vector of extracted lines from image
Definition: LinesTypes.h:50
std::vector< ControlPoint > CPVector
Definition: ControlPoint.h:99