Преглед изворни кода

ImageTools: removed dependencies on deprecated Filter.h

Sven Sickert пре 8 година
родитељ
комит
a89d43a8fb
2 измењених фајлова са 32 додато и 9 уклоњено
  1. 25 2
      core/image/ImageTools.cpp
  2. 7 7
      core/image/ImageTools.h

+ 25 - 2
core/image/ImageTools.cpp

@@ -605,8 +605,31 @@ Matrix* KLTCornerDetector ( const Image& src, const uint& noCorners,
     if ( gradY->width() != src.width() || gradY->height() != src.height() )
       fthrow ( ImageException, "Optional gradient image gradY must have the same size like src." );
 
-  const GrayImage16s* diffX = ( gradX == NULL ) ? sobelX ( src ) : gradX;
-  const GrayImage16s* diffY = ( gradY == NULL ) ? sobelY ( src ) : gradY;
+  NICE::FilterT<unsigned char, unsigned char, unsigned char> filter;
+  NICE::GrayImage16s* diffX = new NICE::GrayImage16s( src.width(), src.height() );
+  NICE::GrayImage16s* diffY = new NICE::GrayImage16s( src.width(), src.height() );
+
+  if ( gradX == NULL )
+  {
+    NICE::Image dstx( src.width(), src.height() );
+    filter.sobelX( src, dstx );
+    for (int y = 0; y < diffX->height(); y++)
+      for (int x = 0; x < diffX->width(); x++)
+        diffX->setPixelQuick( x, y, (short int)dstx.getPixelQuick(x,y) );
+  }
+  else
+    diffX = (NICE::GrayImage16s*)gradX;
+
+  if ( gradY == NULL )
+  {
+    NICE::Image dsty( src.width(), src.height() );
+    filter.sobelY( src, dsty );
+    for (int y = 0; y < diffY->height(); y++)
+      for (int x = 0; x < diffY->width(); x++)
+        diffY->setPixelQuick( x, y, (short int)dsty.getPixelQuick(x,y) );
+  }
+  else
+    diffY = (NICE::GrayImage16s*)gradY;
 
   //
   uint EXQ, EYQ, EXY;

+ 7 - 7
core/image/ImageTools.h

@@ -7,16 +7,16 @@
 #define LIMUN_IMAGETOOLS_H
 
 
-#include <core/image/ippwrapper.h>
+#include "core/image/ippwrapper.h"
 
-#include <core/vector/VectorT.h>
-#include <core/vector/MatrixT.h>
+#include "core/vector/VectorT.h"
+#include "core/vector/MatrixT.h"
 
-#include <core/image/ImageT.h>
-#include <core/image/ColorImageT.h>
+#include "core/image/ImageT.h"
+#include "core/image/ColorImageT.h"
 
-#include <core/image/Convert.h>
-#include <core/image/Filter.h>
+#include "core/image/Convert.h"
+#include "core/image/FilterT.h"
 
 namespace NICE {