Johannes R 12 年之前
父節點
當前提交
24e0b51e76
共有 7 個文件被更改,包括 48 次插入7 次删除
  1. 2 2
      core/CMakeLists.txt
  2. 6 2
      core/basics/CMakeLists.txt
  3. 2 0
      core/basics/progs/testConfig.cpp
  4. 14 1
      core/image/ColorImageT.cpp
  5. 1 1
      core/image/Filter.h
  6. 16 0
      core/image/ImageT.cpp
  7. 7 1
      readme.txt

+ 2 - 2
core/CMakeLists.txt

@@ -5,9 +5,9 @@ CONFIGURE_FILE(
 )
 include_directories("${PROJECT_BINARY_DIR}")
 
+INCLUDE_DIRECTORIES(vector)
 INCLUDE_DIRECTORIES(basics)
 INCLUDE_DIRECTORIES(algebra)
-INCLUDE_DIRECTORIES(vector)
 INCLUDE_DIRECTORIES(optimization)
 INCLUDE_DIRECTORIES(image)
 #INCLUDE_DIRECTORIES(iceconversion)
@@ -15,9 +15,9 @@ INCLUDE_DIRECTORIES(image)
 #INCLUDE_DIRECTORIES(matlabAccess)
 #INCLUDE_DIRECTORIES(progs)
 
+ADD_SUBDIRECTORY(vector)
 ADD_SUBDIRECTORY(basics)
 ADD_SUBDIRECTORY(algebra)
-ADD_SUBDIRECTORY(vector)
 ADD_SUBDIRECTORY(optimization)
 ADD_SUBDIRECTORY(image)
 

+ 6 - 2
core/basics/CMakeLists.txt

@@ -4,8 +4,12 @@ Config.cpp         FileName.cpp          numerictools.cpp  Streamable.cpp
 Exception.cpp      FrameRateCounter.cpp  Observable.cpp    StringTools.cpp
 )
 
-ADD_SUBDIRECTORY(progs)
+message(STATUS "vector sources: ${core_vectors_src}")
+ADD_LIBRARY(core_basics ${NICE_BUILD_LIBS_STATIC_SHARED} ${core_basics_src} ${core_vectors_src})
+#TARGET_LINK_LIBRARIES(core_basics core_vector)
+
+#add_dependencies(core_basics core_vectors)
 
-ADD_LIBRARY(core_basics ${NICE_BUILD_LIBS_STATIC_SHARED} ${core_basics_src})
+ADD_SUBDIRECTORY(progs)
 
 INSTALL(TARGETS core_basics DESTINATION libs)

+ 2 - 0
core/basics/progs/testConfig.cpp

@@ -16,7 +16,9 @@ using namespace std;
 */
 int main (int argc, char **argv)
 {   
+#ifndef WIN32
     std::set_terminate(__gnu_cxx::__verbose_terminate_handler);
+#endif
 
     Config conf ( argc, argv );
     conf.store(cout);    

+ 14 - 1
core/image/ColorImageT.cpp

@@ -82,7 +82,8 @@ void ColorImageT<Ipp8u>::readPPM(const std::string& ppmFileName,
     }
   } else if(header.format==PGM_RAW) {
     for (int y = 0; y < header.height; y++) {
-      Pixel line[header.width];
+#ifdef WIN32
+		Pixel *line = new Pixel[header.width];
       file.read((char *)line,header.width);
       Pixel *target = getPixelPointerY(y);
       Pixel *src = line;
@@ -91,6 +92,18 @@ void ColorImageT<Ipp8u>::readPPM(const std::string& ppmFileName,
         *target++ = *src;
         *target++ = *src++;
       }
+		delete [] line;
+#else
+	  Pixel line[header.width];
+      file.read((char *)line,header.width);
+      Pixel *target = getPixelPointerY(y);
+      Pixel *src = line;
+      for (int x = 0; x < header.width; x++) {
+        *target++ = *src;
+        *target++ = *src;
+        *target++ = *src++;
+      }
+#endif
     }
   } else {
     fthrow(ImageException,"Format not yet implemented.");

+ 1 - 1
core/image/Filter.h

@@ -19,7 +19,7 @@
 #include <core/image/ColorImageT.h>
 #include <core/image/Buffer.h>
 
-#warning "Filter.h is obsolete. Please use FilterT.h instead and adapt your calls and implement the filter if necessary :)"
+#pragma message WARNING("Filter.h is obsolete. Please use FilterT.h instead and adapt your calls and implement the filter if necessary :)")
 
 namespace NICE {
 /**

+ 16 - 0
core/image/ImageT.cpp

@@ -80,6 +80,21 @@ void ImageT<Ipp8u>::readPGM(const std::string& pgmFileName,
     ippiRGBToGray_8u_C3C1R(line, header.width*header.channel, target, header.width, region);
 #else
     for (int y = 0; y < header.height; y++) {
+#ifdef WIN32
+	  Pixel *line = new Pixel[header.width*header.channel];
+      file.read((char *)line,header.width*header.channel);
+      Pixel *target = getPixelPointerY(y);
+      Pixel *src = line;
+      for (int x = 0; x < header.width; x++) {
+        //  // with lookup table (see firewire ColorConvert)
+        // *target = pLutRg[*src]+pLutGg[*(src+1)]+pLutBg[*(src+2)];
+        // *target++ += (pLutRgr[*src]+pLutGgr[*(src+1)]+pLutBgr[*(src+2)])/64;
+        // src=src+3;
+        *target++ = static_cast<Pixel>(*src*0.299+*(src+1)*0.587+*(src+2)*0.114);
+        src=src+3;
+      }
+	  delete [] line;
+#else
       Pixel line[header.width*header.channel];
       file.read((char *)line,header.width*header.channel);
       Pixel *target = getPixelPointerY(y);
@@ -92,6 +107,7 @@ void ImageT<Ipp8u>::readPGM(const std::string& pgmFileName,
         *target++ = static_cast<Pixel>(*src*0.299+*(src+1)*0.587+*(src+2)*0.114);
         src=src+3;
       }
+#endif
     }
 #endif
   } else {

+ 7 - 1
readme.txt

@@ -12,4 +12,10 @@ boost::timer ??
 stringtools highly os dependented
 ->recursive dir scan with "ls -r" syntax!!
 use 3rd party lib like boost oder qt
-use boost regex for regex syntax in stringtools::regex bla
+use boost regex for regex syntax in stringtools::regex bla
+
+
+################################
+defs to care about
+NICE_USELIB_CUDACHOLESKY
+NICE_USELIB_IPP