Adds preview functions

This commit is contained in:
2019-03-12 00:43:10 +01:00
parent db665025bd
commit 8706e241a4
3 changed files with 33 additions and 5 deletions
+19 -4
View File
@@ -32,6 +32,12 @@ public:
return true;
}
//Function which should output some example(s) to file
//that show how this descriptor works.
virtual void preview(Image* img) {
cout << "No preview defined. :-( " << endl;
}
//Helper functions
//TODO: Move these somewhere else. Maybe a friend-class?
double* CalculateDCT(Image* img) {
@@ -125,7 +131,7 @@ public:
int green_b = (b << (64 - 16) >> (64 - 8)).to_ulong();
int blue_b = (b << (64 - 8) >> (64 - 8)).to_ulong();
return abs(red_a - red_b) + abs(green_a - green_b) + abs(blue_a - blue_b);
};
}
string ToString() {
return "averageColor";
}
@@ -332,7 +338,7 @@ public:
if (a[i] != b[i]) biterror++;
}
return biterror;
};
}
string ToString() {
return "threshold";
}
@@ -365,10 +371,19 @@ public:
if (a[i] != b[i]) biterror++;
}
return biterror;
};
}
string ToString() {
return "DCTPearson";
}
void preview(Image* img){
Image* dct = new Image(*img);
Image* local_image = new Image(*img);
//double* converted = CalculateDCsT(dct);
local_image->type(GrayscaleType);
local_image->sample(Geometry("8x8!")); //64 pixels
local_image->write("DCTPearson.png");
}
};
class DCTMedian : public Descriptor {
@@ -398,7 +413,7 @@ public:
if (a[i] != b[i]) biterror++;
}
return biterror;
};
}
string ToString() {
return "DCTMedian";
}