Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ExampleAffineMappingScaleOnly.cpp

Example for affine mapping with images using scale only

Author
MIP
/*
This file is part of the BIAS library (Basic ImageAlgorithmS).
Copyright (C) 2003, 2004 (see file CONTACTS for details)
Multimediale Systeme der Informationsverarbeitung
Institut fuer Informatik
Christian-Albrechts-Universitaet Kiel
BIAS is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
BIAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with BIAS; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
@example ExampleAffineMappingScaleOnly.cpp
@relates AffineMapping
@brief Example for affine mapping with images using scale only
@ingroup g_examples
@author MIP
*/
#include <iostream>
#include <Base/Image/ImageIO.hh>
#include <Base/Image/Image.hh>
#include <Base/Image/ImageConvert.hh>
#include <Image/AffineMapping.hh>
using namespace BIAS;
using namespace std;
int main(int argc, char** argv ) {
if (argc < 2) {
BIASERR("need 1 image path as param!");
BIASABORT;
}
Image<unsigned char> image, scaledImage;
if (ImageIO::Load(argv[1], image) != 0) {
BIASERR("ooops! could not load image!");
BIASABORT;
}
ImageIO::Save("before_mapping.mip", image);
// scale image
double s = 2.0;
scaledImage.Init((unsigned int)rint(image.GetWidth() / s),
(unsigned int)rint(image.GetHeight() / s),
image.GetChannelCount());
0.0,
0.0,
s,
0.0,
0.0);
mapper.Map(image, scaledImage, MapTrilinear);
ImageIO::Save("after_mapping.mip", scaledImage);
return 0;
}