DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
testSTBReader.cpp
Go to the documentation of this file.
1
16
29
31
#include <iostream>
32
#include "DGtal/base/Common.h"
33
#include "ConfigTest.h"
34
#include "DGtalCatch.h"
35
#include "DGtal/helpers/StdDefs.h"
36
#include "DGtal/io/readers/STBReader.h"
37
#include "DGtal/images/ImageSelector.h"
38
39
#include "DGtal/io/writers/PPMWriter.h"
40
42
43
using namespace
std
;
44
using namespace
DGtal
;
45
47
// Functions for testing class STBReader.
49
50
TEST_CASE
(
"Testing STBReader"
)
51
{
52
SECTION
(
"Testing feature io/readers of STBReader (Grayscale PNG)"
)
53
{
54
std::string filename = testPath +
"samples/contourS.png"
;
55
typedef
ImageSelector < Z2i::Domain, Color>::Type
Image
;
56
Image
image
=
STBReader<Image>::import
( filename );
57
CAPTURE
(
image
);
58
59
PPMWriter<Image>::exportPPM
(
"testwriter.ppm"
,
image
);
60
CHECK(
image
.
isValid
());
61
}
62
63
SECTION
(
"Testing feature io/readers of STBReader (PPM color)"
)
64
{
65
std::string filename = testPath +
"samples/color64."
;
66
typedef
ImageSelector < Z2i::Domain, Color>::Type
Image
;
67
68
Image
image
=
STBReader<Image>::import
( filename+
"ppm"
);
69
PPMWriter<Image>::exportPPM
(
"testwriterColor.ppm"
,
image
);
70
CHECK(
image
.
isValid
());
71
}
72
73
SECTION
(
"Testing all file formats"
)
74
{
75
std::string filename = testPath +
"samples/color64."
;
76
typedef
ImageSelector < Z2i::Domain, Color>::Type
Image
;
77
78
Image
imagePPM =
STBReader<Image>::import
( filename+
"ppm"
);
79
CHECK( imagePPM.
isValid
());
80
Image
imageJPG =
STBReader<Image>::import
( filename+
"jpg"
);
81
CHECK( imageJPG.
isValid
());
82
Image
imageTGA =
STBReader<Image>::import
( filename+
"tga"
);
83
CHECK( imageTGA.
isValid
());
84
Image
imageBMP =
STBReader<Image>::import
( filename+
"bmp"
);
85
CHECK( imageBMP.
isValid
());
86
Image
imagePNG =
STBReader<Image>::import
( filename+
"png"
);
87
CHECK( imagePNG.
isValid
());
88
Image
imageGIF =
STBReader<Image>::import
( filename+
"gif"
);
89
CHECK( imageGIF.
isValid
());
90
91
//For lossless compression formats
92
CHECK( imageBMP == imagePPM );
93
CHECK( imageTGA == imagePPM );
94
CHECK( imagePNG == imagePPM );
95
}
96
}
97
DGtal::Image
Aim: implements association between points lying in a digital domain and values.
Definition
Image.h:70
DGtal::Image::isValid
bool isValid() const
Definition
Image.h:266
DGtal::STBReader::import
static ImageContainer import(const std::string &filename, const Functor &aFunctor=Functor())
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
std
STL namespace.
DGtal::ImageSelector::Type
ImageContainerBySTLVector< Domain, Value > Type
Definition
ImageSelector.h:84
DGtal::PPMWriter::exportPPM
static bool exportPPM(const std::string &filename, const Image &aImage, const Functor &aFunctor=Functor(), bool topbottomOrder=true)
TEST_CASE
TEST_CASE("int container traits", "[int][traits]")
Definition
testContainerTraits.cpp:53
CAPTURE
CAPTURE(thicknessHV)
image
Image image(domain)
SECTION
SECTION("Testing constant forward iterators")
Definition
testSimpleRandomAccessRangeFromPoint.cpp:66
tests
io
readers
testSTBReader.cpp
Generated on
for DGtal by
1.18.0