-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathImageZoom.h
57 lines (33 loc) · 1.23 KB
/
ImageZoom.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#pragma once
//Include directives
#include <string>
#include "Image.h"
//ImageZoom class - Inherited from Image class
class ImageZoom : public Image
{
public:
//Defualt constructor
ImageZoom();
//Overloaded constructor
ImageZoom(const unsigned int &_width, const unsigned int &_height);
//Destructor
~ImageZoom();
//Nearest Neighbor resample (base class virtual function which has been redefined in this class)
virtual bool nearestNeighbourResample(const float scaleFactor);
//Bilinear resample (base class virtual function which has been redefined in this class)
virtual bool bilinearResample(const float scaleFactor);
//User defined region of interest function (overloaded)
virtual bool regionOfInterest(unsigned int xPos, unsigned int yPos, unsigned int widthROI, unsigned int heightROI);
//Image info function
virtual std::string imageInfo();
//Accessor and mutator functions for the image zoom factor
void setZoomFactor(const float zoom);
const float getZoomFactor() const;
//Using the image overloaded assignment operator
using Image::operator=;
//Overloaded assignment operator
ImageZoom& operator=(const ImageZoom &img);
private:
//The zoom factor of the image (if it has been scaled)
float zoomFactor;
};