Hugin trunk 0.1
Loading...
Searching...
No Matches
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
34namespace 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);
80 IMPEX HuginBase::CPVector GetLines(const HuginBase::Panorama& pano, const unsigned int imgNr, vigra::UInt8RGBImage& image, vigra::BImage& mask);
81};
82#endif
types definitions for line finding algorithm
Model for a panorama.
Definition Panorama.h:153
#define IMPEX
std::vector< ControlPoint > CPVector
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...
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's algorithm
Definition FindLines.cpp:76
void ScaleLines(Lines &lines, const double scale)
scales the given lines with given factor use in conjugation with HuginLines::detectEdges to scale the...
std::vector< SingleLine > Lines
vector of extracted lines from image
Definition LinesTypes.h:50
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
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
HuginBase::CPVector GetLines(const HuginBase::Panorama &pano, const unsigned int imgNr, vigra::UInt8RGBImage &image, vigra::BImage &mask)
searches for all lines, the same as GetVerticalLines execpt that no filtering according to roll angle...
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