23
23
public class AkazeImageFinder {
24
24
25
25
private static final Logger logger = LoggerFactory .getLogger (AkazeImageFinder .class );
26
- public double scene_height ;
27
- public double scene_width ;
28
- double lastResizeFactor ;
26
+ double lastResizeFactor ; //TODO Severi remove this
29
27
30
- public double getSceneHeight () {
28
+ public double getSceneHeight (String sceneFile ) {
29
+ Mat img_scene = Highgui .imread (sceneFile , Highgui .CV_LOAD_IMAGE_UNCHANGED );
30
+ double scene_height = img_scene .rows ();
31
31
return scene_height ;
32
32
}
33
33
34
- public double getSceneWidth () {
35
- return scene_width ;
34
+ public double getSceneWidth (String sceneFile ) {
35
+ Mat img_scene = Highgui .imread (sceneFile , Highgui .CV_LOAD_IMAGE_UNCHANGED );
36
+ double scene_width = img_scene .cols ();
37
+ return scene_width ;
36
38
}
37
39
38
40
public Point [] findImage (String queryImageFile , String sceneFile , double tolerance ) {
@@ -41,9 +43,9 @@ public Point[] findImage(String queryImageFile, String sceneFile, double toleran
41
43
Mat img_object = Highgui .imread (queryImageFile , Highgui .CV_LOAD_IMAGE_UNCHANGED );
42
44
Mat img_scene = Highgui .imread (sceneFile , Highgui .CV_LOAD_IMAGE_UNCHANGED );
43
45
44
- Mat resized_img_scene = new Mat ();
45
- scene_height = img_scene .rows ();
46
- scene_width = img_scene .cols ();
46
+
47
+ double scene_height = img_scene .rows ();
48
+ double scene_width = img_scene .cols ();
47
49
//logger.info("Scene height and width: " + scene_height + ", " + scene_width);
48
50
49
51
double resizeFactor = 1 ;
@@ -53,6 +55,7 @@ public Point[] findImage(String queryImageFile, String sceneFile, double toleran
53
55
resizeFactor = scene_height / 750 ;
54
56
55
57
if (resizeFactor > 1 ) {
58
+ Mat resized_img_scene = new Mat ();
56
59
Size size = new Size (scene_width / resizeFactor , scene_height / resizeFactor );
57
60
resize (img_scene , resized_img_scene , size );
58
61
Highgui .imwrite (sceneFile , resized_img_scene );
0 commit comments