2
2
// libavg - Media Playback Engine.
3
// Copyright (C) 2003-2008 Ulrich von Zadow
3
// Copyright (C) 2003-2011 Ulrich von Zadow
5
5
// This library is free software; you can redistribute it and/or
6
6
// modify it under the terms of the GNU Lesser General Public
65
63
return FilterGrayscale().apply(pBmp);
68
} catch (Magick::Exception & ex) {
69
cerr << ex.what() << endl;
66
} catch (Exception & ex) {
67
cerr << ex.getStr() << endl;
87
} catch (Magick::Exception & ex) {
88
cerr << ex.what() << endl;
85
} catch (Exception & ex) {
86
cerr << ex.getStr() << endl;
89
87
resultBmp.save("resultimages/"+sFName+".png");
95
93
void GraphicsTest::testEqual(Bitmap& resultBmp, Bitmap& baselineBmp,
96
94
const string& sFName, double maxAverage, double maxStdDev)
98
BitmapPtr pDiffBmp = BitmapPtr(resultBmp.subtract(&baselineBmp));
99
double average = pDiffBmp->getAvg();
100
double stdDev = pDiffBmp->getStdDev();
101
if (average > maxAverage || stdDev > maxStdDev) {
102
TEST_FAILED("Error: Decoded image differs from baseline '" <<
103
sFName << "'. average=" << average << ", stdDev=" << stdDev);
105
// baselineBmp.dump();
98
pDiffBmp = resultBmp.subtract(baselineBmp);
99
} catch (Exception& e) {
100
TEST_FAILED("Error: " << e.getStr() << ". File: '" << sFName << "'.");
106
101
string sResultName = "resultimages/"+sFName;
107
102
resultBmp.save(sResultName+".png");
108
103
baselineBmp.save(sResultName+"_baseline.png");
109
BitmapPtr pDiffBmp(resultBmp.subtract(&baselineBmp));
110
pDiffBmp->save(sResultName+"_diff.png");
106
double average = pDiffBmp->getAvg();
107
double stdDev = pDiffBmp->getStdDev();
108
if (average > maxAverage || stdDev > maxStdDev) {
109
TEST_FAILED("Error: Decoded image differs from baseline '" <<
110
sFName << "'. average=" << average << ", stdDev=" << stdDev);
112
// baselineBmp.dump();
113
string sResultName = "resultimages/"+sFName;
114
resultBmp.save(sResultName+".png");
115
baselineBmp.save(sResultName+"_baseline.png");
116
BitmapPtr pDiffBmp = resultBmp.subtract(baselineBmp);
117
pDiffBmp->save(sResultName+"_diff.png");
117
125
double diff = fabs(resultBmp.getAvg()-baselineBmp.getAvg());
118
126
if (diff >= epsilon) {
119
cerr << " Baseline brightness: " << baselineBmp.getAvg()
127
TEST_FAILED("Error: Baseline brightness: " << baselineBmp.getAvg()
120
128
<< ", Result brightness: " << resultBmp.getAvg() << ", difference: "