Different sampling algorithms
This commit is contained in:
+7
-11
@@ -43,8 +43,7 @@ public:
|
||||
double* CalculateDCT(Image* img) {
|
||||
double pi = 3.14159265359;
|
||||
img->type(GrayscaleType);
|
||||
img->filterType(LanczosFilter); //fast!
|
||||
img->resize(Geometry(8, 8)); //64 pixels
|
||||
img->sample(Geometry("8x8!")); //64 pixels
|
||||
ssize_t n = 8;
|
||||
ssize_t m = 8;
|
||||
Pixels view(*img);
|
||||
@@ -159,8 +158,7 @@ public:
|
||||
bitset<64> feature(Image* img) {
|
||||
Image* local_image = new Image(*img);
|
||||
local_image->type(GrayscaleType);
|
||||
local_image->filterType(LanczosFilter); //fast resizing, should have minimal impact on accuracy
|
||||
local_image->resize(Geometry(8, 8, 0, 0)); //64 pixels
|
||||
local_image->sample(Geometry("8x8!")); //64 pixels
|
||||
ssize_t n = 8;
|
||||
ssize_t m = 8;
|
||||
Pixels view(*local_image);
|
||||
@@ -263,8 +261,7 @@ public:
|
||||
bitset<64> feature(Image* img) {
|
||||
Image* local_image = new Image(*img);
|
||||
local_image->type(GrayscaleType);
|
||||
local_image->filterType(LanczosFilter); //fast!
|
||||
local_image->resize(Geometry(8, 8)); //64 pixels
|
||||
local_image->sample(Geometry("8x8!")); //64 pixels
|
||||
ssize_t n = 8;
|
||||
ssize_t m = 8;
|
||||
Pixels view(*local_image);
|
||||
@@ -293,23 +290,22 @@ public:
|
||||
if (a[i] != b[i]) biterror++;
|
||||
}
|
||||
return biterror;
|
||||
};
|
||||
}
|
||||
string ToString() {
|
||||
return "pearson";
|
||||
}
|
||||
};
|
||||
|
||||
//Uses an adaptive thresholding algorithm on an 8*8
|
||||
//images. Re-calculates the threshold for each 2*2
|
||||
//images. Re-calculates the threshold for each
|
||||
//neighbourhood and stores it in a LTR map
|
||||
class threshold : public Descriptor {
|
||||
public:
|
||||
bitset<64> feature(Image* img) {
|
||||
Image* local_image = new Image(*img);
|
||||
local_image->type(GrayscaleType);
|
||||
local_image->filterType(LanczosFilter); //fast!
|
||||
local_image->resize(Geometry(8, 8)); //64 pixels
|
||||
local_image->adaptiveThreshold(2, 2); //Thresholding in a moving 2*2 neighborhood
|
||||
local_image->sample(Geometry("8x8!")); //64 pixels
|
||||
local_image->adaptiveThreshold(3, 3); //Thresholding in a moving neighborhood
|
||||
ssize_t n = 8;
|
||||
ssize_t m = 8;
|
||||
Pixels view(*local_image);
|
||||
|
||||
Reference in New Issue
Block a user