Fawkes API
Fawkes Development Version
qa_gauss.cpp
1
2
/***************************************************************************
3
* qa_gauss.h - QA for Gauss filter
4
*
5
* Generated: Mon May 21 21:29:30 2012
6
* Copyright 2012 Tim Niemueller [www.niemueller.de]
7
****************************************************************************/
8
9
/* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version. A runtime exception applies to
13
* this software (see LICENSE.GPL_WRE file mentioned below for details).
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Library General Public License for more details.
19
*
20
* Read the full text in the LICENSE.GPL_WRE file in the doc directory.
21
*/
22
23
/// @cond QA
24
25
#include <fvfilters/gauss.h>
26
#include <fvutils/adapters/iplimage.h>
27
#include <fvutils/color/colorspaces.h>
28
#include <fvutils/draw/drawer.h>
29
#include <fvutils/readers/jpeg.h>
30
#include <fvwidgets/image_display.h>
31
#include <utils/system/argparser.h>
32
33
#include <cstdio>
34
#include <cstdlib>
35
#include <cstring>
36
37
using namespace
fawkes
;
38
using namespace
firevision;
39
40
int
41
main(
int
argc,
char
**argv)
42
{
43
ArgumentParser
*argp =
new
ArgumentParser
(argc, argv,
"h:f:c:"
);
44
45
if
(argp->
has_arg
(
"f"
))
46
// read image from file
47
{
48
const
char
*image_file = argp->
arg
(
"f"
);
49
50
JpegReader
* reader =
new
JpegReader
(image_file);
51
unsigned
char
*buffer =
52
malloc_buffer(YUV422_PLANAR, reader->
pixel_width
(), reader->
pixel_height
());
53
54
reader->
set_buffer
(buffer);
55
reader->
read
();
56
57
unsigned
char
*filtered =
58
malloc_buffer(YUV422_PLANAR, reader->
pixel_width
(), reader->
pixel_height
());
59
memset(filtered + reader->
pixel_width
() * reader->
pixel_height
(),
60
128,
61
reader->
pixel_width
() * reader->
pixel_height
());
62
63
ROI
*roi = ROI::full_image(reader->
pixel_width
(), reader->
pixel_height
());
64
65
FilterGauss
*f =
new
FilterGauss
();
66
f->
set_src_buffer
(buffer, roi);
67
f->
set_dst_buffer
(filtered, roi);
68
f->
apply
();
69
70
ImageDisplay
*display =
new
ImageDisplay
(reader->
pixel_width
(), reader->
pixel_height
());
71
display->show(filtered);
72
display->loop_until_quit();
73
74
delete
display;
75
76
delete
roi;
77
free(buffer);
78
free(filtered);
79
delete
f;
80
delete
reader;
81
}
82
83
else
{
84
printf(
"Usage: %s -f <Image file as JPEG>\n"
, argv[0]);
85
exit(-1);
86
}
87
88
delete
argp;
89
}
90
91
/// @endcond
firevision::JpegReader::pixel_height
virtual unsigned int pixel_height()
Definition:
jpeg.cpp:99
firevision::Filter::set_src_buffer
virtual void set_src_buffer(unsigned char *buf, ROI *roi, orientation_t ori=ORI_HORIZONTAL, unsigned int buffer_num=0)
Set source buffer with orientation.
Definition:
filter.cpp:89
firevision::ImageDisplay
Definition:
image_display.h:35
firevision::FilterGauss
Definition:
gauss.h:39
firevision::JpegReader::pixel_width
virtual unsigned int pixel_width()
Definition:
jpeg.cpp:89
firevision::ROI
Definition:
roi.h:60
firevision::FilterGauss::apply
virtual void apply()
Definition:
gauss.cpp:56
firevision::JpegReader
Definition:
jpeg.h:42
fawkes::ArgumentParser::has_arg
bool has_arg(const char *argn)
Check if argument has been supplied.
Definition:
argparser.cpp:171
firevision::Filter::set_dst_buffer
virtual void set_dst_buffer(unsigned char *buf, ROI *roi)
Set the destination buffer.
Definition:
filter.cpp:123
firevision::JpegReader::read
virtual void read()
Definition:
jpeg.cpp:109
fawkes
firevision::JpegReader::set_buffer
virtual void set_buffer(unsigned char *yuv422planar_buffer)
Definition:
jpeg.cpp:77
fawkes::ArgumentParser
Definition:
argparser.h:69
fawkes::ArgumentParser::arg
const char * arg(const char *argn)
Get argument value.
Definition:
argparser.cpp:183
src
libs
fvfilters
qa
qa_gauss.cpp
Generated by
1.8.17