IVT
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
CompactRegionFilter.cpp
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: CompactRegionFilter.cpp
37
// Author: Pedram Azad
38
// Date: 2005
39
// ****************************************************************************
40
41
42
// ****************************************************************************
43
// Includes
44
// ****************************************************************************
45
46
#include <new>
// for explicitly using correct new/delete operators on VC DSPs
47
48
#include "
CompactRegionFilter.h
"
49
50
#include "
Image/ImageProcessor.h
"
51
#include "
Image/ByteImage.h
"
52
53
54
55
// ****************************************************************************
56
// Constructor / Destructor
57
// ****************************************************************************
58
59
CCompactRegionFilter::CCompactRegionFilter
()
60
{
61
}
62
63
CCompactRegionFilter::~CCompactRegionFilter
()
64
{
65
}
66
67
68
// ****************************************************************************
69
// Methods
70
// ****************************************************************************
71
72
bool
CCompactRegionFilter::CheckRegion(
const
CByteImage
*pColorImage,
const
CByteImage
*pSegmentedImage,
const
MyRegion
®ion)
73
{
74
const
int
region_width = region.
max_x
- region.
min_x
;
75
const
int
region_height = region.
max_y
- region.
min_y
;
76
77
if
(region_width <= 0 || region_height <= 0)
78
return
false
;
79
80
const
float
ratio = region_width >= region_height ? float(region_width) / region_height : float(region_height) / region_width;
81
if
(ratio > 3.5f)
82
return
false
;
83
84
const
float
filled_ratio = float(region.
nPixels
) / (region_width * region_height);
85
if
(filled_ratio < 0.3f)
// 0.4f
86
return
false
;
87
88
return
true
;
89
}
MyRegion::nPixels
int nPixels
Definition:
Structs.h:327
CompactRegionFilter.h
ByteImage.h
MyRegion::max_y
int max_y
Definition:
Structs.h:336
ImageProcessor.h
MyRegion::max_x
int max_x
Definition:
Structs.h:335
MyRegion
Definition:
Structs.h:255
MyRegion::min_y
int min_y
Definition:
Structs.h:334
CCompactRegionFilter::~CCompactRegionFilter
~CCompactRegionFilter()
Definition:
CompactRegionFilter.cpp:63
MyRegion::min_x
int min_x
Definition:
Structs.h:333
CByteImage
Data structure for the representation of 8-bit grayscale images and 24-bit RGB (or HSV) color images ...
Definition:
ByteImage.h:80
CCompactRegionFilter::CCompactRegionFilter
CCompactRegionFilter()
Definition:
CompactRegionFilter.cpp:59
src
ObjectFinder
CompactRegionFilter.cpp
Generated on Thu May 8 2014 09:18:57 for IVT by
1.8.6